diff --git a/test/fuzzers/audio_decoder_fuzzer.cc b/test/fuzzers/audio_decoder_fuzzer.cc index 40a7315ef6..2b4003b5e1 100644 --- a/test/fuzzers/audio_decoder_fuzzer.cc +++ b/test/fuzzers/audio_decoder_fuzzer.cc @@ -51,8 +51,13 @@ void FuzzAudioDecoder(DecoderFunctionType decode_type, const uint8_t* data_ptr = data; size_t remaining_size = size; size_t packet_len; - while (ParseInt(&data_ptr, &remaining_size, &packet_len) && - packet_len <= remaining_size) { + constexpr size_t kMaxNumFuzzedPackets = 200; + for (size_t num_packets = 0; num_packets < kMaxNumFuzzedPackets; + ++num_packets) { + if (!(ParseInt(&data_ptr, &remaining_size, &packet_len) && + packet_len <= remaining_size)) { + break; + } AudioDecoder::SpeechType speech_type; switch (decode_type) { case DecoderFunctionType::kNormalDecode: