[FFmpeg-cvslog] avcodec/pngdec: Require a IHDR chunk before fctl

Michael Niedermayer git at videolan.org
Mon Jun 29 22:29:40 CEST 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Jun 29 21:57:12 2015 +0200| [a1736926e9ae51706b537776722e816a4d1f6b36] | committer: Michael Niedermayer

avcodec/pngdec: Require a IHDR chunk before fctl

This is required by the APNG spec

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a1736926e9ae51706b537776722e816a4d1f6b36
---

 libavcodec/pngdec.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index f8b398f..85bc447 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -824,6 +824,11 @@ static int decode_fctl_chunk(AVCodecContext *avctx, PNGDecContext *s,
     if (length != 26)
         return AVERROR_INVALIDDATA;
 
+    if (!(s->state & PNG_IHDR)) {
+        av_log(avctx, AV_LOG_ERROR, "fctl before IHDR\n");
+        return AVERROR_INVALIDDATA;
+    }
+
     s->last_w = s->cur_w;
     s->last_h = s->cur_h;
     s->last_x_offset = s->x_offset;



More information about the ffmpeg-cvslog mailing list