[FFmpeg-devel] [PATCH 2/3] avcodec/apac: reset buffer on error

Michael Niedermayer michael at niedermayer.cc
Thu Nov 17 01:32:19 EET 2022


Fixes: repeatly parsing the same data after each 1 byte packet
Fixes: Timeout
Fixes: 51943/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APAC_fuzzer-5779018251370496

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavcodec/apac.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavcodec/apac.c b/libavcodec/apac.c
index 6a1f61b842..e9f6a0dd88 100644
--- a/libavcodec/apac.c
+++ b/libavcodec/apac.c
@@ -191,6 +191,8 @@ static int apac_decode(AVCodecContext *avctx, AVFrame *frame,
             if (c->bit_length < 0 ||
                 c->bit_length > 17) {
                 c->bit_length = avctx->bits_per_coded_sample;
+                s->bitstream_index = 0;
+                s->bitstream_size  = 0;
                 return AVERROR_INVALIDDATA;
             }
 
-- 
2.17.1



More information about the ffmpeg-devel mailing list