rv20: prevent calling ff_h263_decode_mba() with unset height/width
authorJanne Grunau <janne-libav@jannau.net>
Tue, 24 Jan 2012 20:50:50 +0000 (21:50 +0100)
committerJanne Grunau <janne-libav@jannau.net>
Wed, 25 Jan 2012 15:18:54 +0000 (16:18 +0100)
Prevents a crash of VLC during playback of a invalid matroska file,
found by John Villamil <johnv@matasano.com>.

CC: libav-stable@libav.org
libavcodec/rv10.c

index 9f2fe77..1d7fd6b 100644 (file)
@@ -362,7 +362,8 @@ static int rv20_decode_picture_header(MpegEncContext *s)
         if(s->avctx->debug & FF_DEBUG_PICT_INFO){
             av_log(s->avctx, AV_LOG_DEBUG, "F %d/%d\n", f, rpr_bits);
         }
-    }
+    } else if (av_image_check_size(s->width, s->height, 0, s->avctx) < 0)
+        return AVERROR_INVALIDDATA;
 
     mb_pos = ff_h263_decode_mba(s);