OSDN Git Service

Reject slices that does not have the same type than the first one in RV10/RV20 decoder.
authorLaurent Aimar <fenrir@videolan.org>
Sat, 17 Sep 2011 22:17:44 +0000 (00:17 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 17 Sep 2011 22:57:49 +0000 (00:57 +0200)
This prevents crashes with some corrupted bitstreams.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/rv10.c

index d53265b..18a79af 100644 (file)
@@ -547,8 +547,12 @@ static int rv10_decode_packet(AVCodecContext *avctx,
         if(MPV_frame_start(s, avctx) < 0)
             return -1;
         ff_er_frame_start(s);
+    } else {
+        if (s->current_picture_ptr->f.pict_type != s->pict_type)
+            return -1;
     }
 
+
     av_dlog(avctx, "qscale=%d\n", s->qscale);
 
     /* default quantization values */