cinepak: check strip_size
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 16 Nov 2011 16:21:42 +0000 (17:21 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 16 Nov 2011 19:47:05 +0000 (20:47 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/cinepak.c

index 6a8f462..a5458ca 100644 (file)
@@ -375,6 +375,8 @@ static int cinepak_decode (CinepakContext *s)
             s->frame.key_frame = 1;
 
         strip_size = AV_RB24 (&s->data[1]) - 12;
             s->frame.key_frame = 1;
 
         strip_size = AV_RB24 (&s->data[1]) - 12;
+        if(strip_size < 0)
+            return -1;
         s->data   += 12;
         strip_size = ((s->data + strip_size) > eod) ? (eod - s->data) : strip_size;
 
         s->data   += 12;
         strip_size = ((s->data + strip_size) > eod) ? (eod - s->data) : strip_size;