xl: Make sure the width is valid
authorLuca Barbato <lu_zero@gentoo.org>
Sun, 28 Jul 2013 16:24:15 +0000 (18:24 +0200)
committerSean McGovern <gseanmcg@gmail.com>
Mon, 23 Sep 2013 23:25:50 +0000 (19:25 -0400)
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavcodec/xl.c

index 0ebc946..d45866d 100644 (file)
@@ -69,6 +69,11 @@ static int decode_frame(AVCodecContext *avctx,
 
     stride = avctx->width - 4;
 
+    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;