diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2022-11-16 21:53:45 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2022-11-20 21:23:35 +0100 |
commit | 6634b6ae5f470bea73d46c606a99b79d21d46c37 (patch) | |
tree | d59836e6fd04713895dd6844de725077c5ebb5d1 /libavcodec/apac.c | |
parent | 96748ac54f998ba6fe22802799c16b4eba8d4ccc (diff) | |
download | ffmpeg-6634b6ae5f470bea73d46c606a99b79d21d46c37.tar.gz |
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@gmail.com>
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/apac.c')
-rw-r--r-- | libavcodec/apac.c | 2 |
1 files changed, 2 insertions, 0 deletions
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; } |