[FFmpeg-cvslog] xl: Make sure the width is valid

Luca Barbato git at videolan.org
Mon Jul 29 12:20:14 CEST 2013


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Sun Jul 28 18:24:15 2013 +0200| [3ca1dd2502a860989ee5289316af6b9816cee78f] | committer: Luca Barbato

xl: Make sure the width is valid

And undo the wrong commit f1cb490d6d7391ff7e28cc376908cc98a652228d

CC: libav-stable at libav.org

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

 libavcodec/xl.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/libavcodec/xl.c b/libavcodec/xl.c
index 03df7c3..65153b4 100644
--- a/libavcodec/xl.c
+++ b/libavcodec/xl.c
@@ -49,7 +49,12 @@ static int decode_frame(AVCodecContext *avctx,
     uint32_t val;
     int y0, y1, y2, y3 = 0, c0 = 0, c1 = 0;
 
-    if (buf_size < avctx->width * avctx->height * sizeof(int32_t)) {
+    if (avctx->width % 4) {
+        av_log(avctx, AV_LOG_ERROR, "Width not a multiple of 4.\n");
+        return AVERROR_INVALIDDATA;
+    }
+
+    if (buf_size < avctx->width * avctx->height) {
         av_log(avctx, AV_LOG_ERROR, "Packet is too small\n");
         return AVERROR_INVALIDDATA;
     }



More information about the ffmpeg-cvslog mailing list