]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/4xm: Check pre_gb in decode_i_block()
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 9 Mar 2021 20:39:30 +0000 (21:39 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 11 Mar 2021 15:06:33 +0000 (16:06 +0100)
Fixes: Timeout
Fixes: 31257/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FOURXM_fuzzer-5150866229297152
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/4xm.c

index 4d58b093f76f0b3ce8b5e45759d377e6457628a8..cbd863776378ea36949fcef93a3fb62f2328fd53 100644 (file)
@@ -499,8 +499,8 @@ static int decode_i_block(FourXContext *f, int16_t *block)
 {
     int code, i, j, level, val;
 
-    if (get_bits_left(&f->gb) < 2){
-        av_log(f->avctx, AV_LOG_ERROR, "%d bits left before decode_i_block()\n", get_bits_left(&f->gb));
+    if (get_bits_left(&f->pre_gb) < 2) {
+        av_log(f->avctx, AV_LOG_ERROR, "%d bits left before decode_i_block()\n", get_bits_left(&f->pre_gb));
         return AVERROR_INVALIDDATA;
     }