avcodec/wmv2dec: Check that the P frame secondary header fit in the input
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 12 Apr 2019 22:15:27 +0000 (00:15 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 19 Apr 2019 19:06:09 +0000 (21:06 +0200)
Fixes: Timeout (64sec ->2 sec)
Fixes: 14131/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMV2_fuzzer-5719879556005888

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/wmv2dec.c

index 92daa16..124dfdb 100644 (file)
@@ -230,6 +230,9 @@ int ff_wmv2_decode_secondary_picture_header(MpegEncContext *s)
             s->rl_chroma_table_index = s->rl_table_index;
         }
 
+        if (get_bits_left(&s->gb) < 2)
+            return AVERROR_INVALIDDATA;
+
         s->dc_table_index   = get_bits1(&s->gb);
         s->mv_table_index   = get_bits1(&s->gb);