[FFmpeg-cvslog] avcodec/apac: reset buffer on error

Michael Niedermayer git at videolan.org
Sun Nov 20 22:56:08 EET 2022


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Wed Nov 16 21:53:45 2022 +0100| [6634b6ae5f470bea73d46c606a99b79d21d46c37] | committer: Michael Niedermayer

avcodec/apac: reset buffer on error

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

Reviewed-by: Paul B Mahol <onemda at gmail.com>
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6634b6ae5f470bea73d46c606a99b79d21d46c37
---

 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;
             }
 



More information about the ffmpeg-cvslog mailing list