fix segfault on broken streams
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 9 Feb 2006 09:38:03 +0000 (09:38 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 9 Feb 2006 09:38:03 +0000 (09:38 +0000)
Originally committed as revision 4966 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/ffv1.c

index 10ba21b..0f9b344 100644 (file)
@@ -959,11 +959,14 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8
     p->pict_type= FF_I_TYPE; //FIXME I vs. P
     if(get_rac(c, &keystate)){
         p->key_frame= 1;
-        read_header(f);
+        if(read_header(f) < 0)
+            return -1;
         clear_state(f);
     }else{
         p->key_frame= 0;
     }
+    if(!f->plane[0].state && !f->plane[0].vlc_state)
+        return -1;
 
     p->reference= 0;
     if(avctx->get_buffer(avctx, p) < 0){