avcodec/vc1dec: do not crash when flushing without an allocated frame
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 11 Aug 2014 00:16:43 +0000 (02:16 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 11 Aug 2014 00:26:29 +0000 (02:26 +0200)
Fixes Ticket3837
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6801eb0a0981f113f5f09ed4799d9ae805af62a3)

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

index 06deb7f..a73d615 100644 (file)
@@ -5514,7 +5514,7 @@ static void vc1_sprite_flush(AVCodecContext *avctx)
        Since we can't enforce it, clear to black the missing sprite. This is
        wrong but it looks better than doing nothing. */
 
-    if (f->data[0])
+    if (f && f->data[0])
         for (plane = 0; plane < (s->flags&CODEC_FLAG_GRAY ? 1 : 3); plane++)
             for (i = 0; i < v->sprite_height>>!!plane; i++)
                 memset(f->data[plane] + i * f->linesize[plane],