diff options
author | Martijn van Beurden <mvanb1@gmail.com> | 2023-03-08 19:57:01 +0100 |
---|---|---|
committer | Martijn van Beurden <mvanb1@gmail.com> | 2023-03-09 14:31:49 +0100 |
commit | 6db29d1050aa2e2a6ee1bad128ad897aca08f24f (patch) | |
tree | 3fbec17d542049e54495ef733889605c1b5cfb07 | |
parent | 4d6d8b342f03d58bffd93346241996e479e4c979 (diff) | |
download | flac-6db29d1050aa2e2a6ee1bad128ad897aca08f24f.tar.gz |
Check for got_stream_info instead of samplerate being 0
Credit: Oss-Fuzz
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56427
-rw-r--r-- | src/flac/decode.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/flac/decode.c b/src/flac/decode.c index a1fb00a3..c9c74546 100644 --- a/src/flac/decode.c +++ b/src/flac/decode.c @@ -1161,7 +1161,7 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder } /* sanity-check the sample rate */ - if(decoder_session->sample_rate) { + if(!decoder_session->got_stream_info) { if(frame->header.sample_rate != decoder_session->sample_rate) { if(decoder_session->got_stream_info) flac__utils_printf(stderr, 1, "%s: ERROR, sample rate is %u in frame but %u in STREAMINFO\n", decoder_session->inbasefilename, frame->header.sample_rate, decoder_session->sample_rate); @@ -1172,8 +1172,6 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder } } else { - /* must not have gotten STREAMINFO, save the sample rate from the frame header */ - FLAC__ASSERT(!decoder_session->got_stream_info); decoder_session->sample_rate = frame->header.sample_rate; } |