vc1dec: require a minimum of 2x2 for the edge pos. Avoid assertion failure
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 14 Nov 2012 18:03:07 +0000 (19:03 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 14 Nov 2012 18:16:08 +0000 (19:16 +0100)
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/vc1dec.c

index 2afe176..8fbdbdf 100644 (file)
@@ -5498,6 +5498,8 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
         s->low_delay = !avctx->has_b_frames || v->res_sprite;
 
         if (v->profile == PROFILE_ADVANCED) {
+            if(avctx->coded_width<=1 || avctx->coded_height<=1)
+                goto err;
             s->h_edge_pos = avctx->coded_width;
             s->v_edge_pos = avctx->coded_height;
         }