[FFmpeg-cvslog] pngdec: validate length.

Michael Niedermayer git at videolan.org
Sun Mar 4 06:46:55 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Mar  4 06:25:06 2012 +0100| [39a3a53b66fcc115bd8d0bc0a70db66791eab854] | committer: Michael Niedermayer

pngdec: validate length.

Fixes out of array reading.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/pngdec.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index 39afbdd..55df8b0 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -427,7 +427,7 @@ static int decode_frame(AVCodecContext *avctx,
         if (s->bytestream >= s->bytestream_end)
             goto fail;
         length = bytestream_get_be32(&s->bytestream);
-        if (length > 0x7fffffff)
+        if (length > 0x7fffffff || length > s->bytestream_end - s->bytestream)
             goto fail;
         tag32 = bytestream_get_be32(&s->bytestream);
         tag = av_bswap32(tag32);



More information about the ffmpeg-cvslog mailing list