rv30: check block type validity
authorJanne Grunau <janne-libav@jannau.net>
Tue, 14 Feb 2012 14:02:30 +0000 (15:02 +0100)
committerJanne Grunau <janne-libav@jannau.net>
Tue, 14 Feb 2012 18:03:10 +0000 (19:03 +0100)
Prevents crashes with the fuzzed samples from bugs 88, 89 and 125 after
"golomb: avoid infinite loop on all-zero input".

libavcodec/rv30.c

index 4828e98..1bb223c 100644 (file)
@@ -103,7 +103,7 @@ static int rv30_decode_mb_info(RV34DecContext *r)
     GetBitContext *gb = &s->gb;
     int code = svq3_get_ue_golomb(gb);
 
-    if(code > 11){
+    if (code < 0 || code > 11) {
         av_log(s->avctx, AV_LOG_ERROR, "Incorrect MB type code\n");
         return -1;
     }