From 16840f4564b6995a173ea062ef7cfb6af7c079d6 Mon Sep 17 00:00:00 2001 From: Martijn van Beurden Date: Sat, 28 Dec 2024 21:18:33 +0100 Subject: [PATCH] Limit amount of samples to decode in fuzzer_tool_flac --- src/flac/decode.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/flac/decode.c b/src/flac/decode.c index 6aca01d29f..12942f062f 100644 --- a/src/flac/decode.c +++ b/src/flac/decode.c @@ -1293,6 +1293,15 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder } } +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION + if(decoder_session->samples_processed > (1 << 23)) { + decoder_session->abort_flag = true; + decoder_session->aborting_due_to_until = true; + return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT; + } +#endif + + if(decoder_session->analysis_mode && decoder_session->decode_position_valid) { FLAC__uint64 dpos; if(!FLAC__stream_decoder_get_decode_position(decoder_session->decoder, &dpos))