avcodec/mpeg4videodec: Check mb_num also against 0
authorMichael Niedermayer <michael@niedermayer.cc>
Sun, 28 Jan 2018 01:29:00 +0000 (02:29 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 29 Jan 2018 03:11:28 +0000 (04:11 +0100)
The spec implies that 0 is invalid in addition to the existing checks

Found-by: <kierank>
Reviewed-by: Kieran Kunhya <kieran618@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/mpeg4videodec.c

index 12755b5..ba332de 100644 (file)
@@ -465,7 +465,7 @@ int ff_mpeg4_decode_video_packet_header(Mpeg4DecContext *ctx)
     }
 
     mb_num = get_bits(&s->gb, mb_num_bits);
-    if (mb_num >= s->mb_num) {
+    if (mb_num >= s->mb_num || !mb_num) {
         av_log(s->avctx, AV_LOG_ERROR,
                "illegal mb_num in video packet (%d %d) \n", mb_num, s->mb_num);
         return -1;