avcodec/svq1dec: Check that there is data left after the header

Fixes: Timeout (21sec -> 255ms)
Fixes: 20709/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SVQ1_fuzzer-5085075089915904

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 55e344ee5a)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2020-02-18 23:28:33 +01:00
parent 8ce3cf4343
commit b888db4367
1 changed files with 2 additions and 0 deletions

View File

@ -602,6 +602,8 @@ static int svq1_decode_frame_header(AVCodecContext *avctx, AVFrame *frame)
if (skip_1stop_8data_bits(bitbuf) < 0)
return AVERROR_INVALIDDATA;
}
if (get_bits_left(bitbuf) <= 0)
return AVERROR_INVALIDDATA;
s->width = width;
s->height = height;