pngdec: check s->last_picture.f->data[0] before using it
authorAndreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Sun, 3 May 2015 14:21:39 +0000 (16:21 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 3 May 2015 15:24:28 +0000 (17:24 +0200)
This check was removed in commit 08aec6f6, but
s->last_picture.f->data[0] is still used in handle_p_frame_apng
unconditionally.

This fixes a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/pngdec.c

index 3b28b29..26de09d 100644 (file)
@@ -1070,7 +1070,7 @@ exit_loop:
     /* handle p-frames only if a predecessor frame is available */
     ref = s->dispose_op == APNG_DISPOSE_OP_PREVIOUS ?
              s->previous_picture.f : s->last_picture.f;
-    if (ref->data[0]) {
+    if (ref->data[0] && s->last_picture.f->data[0]) {
         if (   !(avpkt->flags & AV_PKT_FLAG_KEY) && avctx->codec_tag != AV_RL32("MPNG")
             && ref->width == p->width
             && ref->height== p->height