From: Martin Storsjö Date: Sat, 28 Sep 2013 22:04:05 +0000 (+0300) Subject: xxan: Disallow odd width X-Git-Tag: n2.1~57^2~147 X-Git-Url: https://git.videolan.org/?p=ffmpeg.git;a=commitdiff_plain;h=aa0dd52434768da64f1f3d8ae92bcf980c1adffc;ds=inline xxan: Disallow odd width Decoded data is always written in pairs within this decoder. This fixes writes out of bounds. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö --- diff --git a/libavcodec/xxan.c b/libavcodec/xxan.c index 2bc9ff697b..05ce7ffae6 100644 --- a/libavcodec/xxan.c +++ b/libavcodec/xxan.c @@ -50,6 +50,10 @@ static av_cold int xan_decode_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_ERROR, "Invalid frame height: %d.\n", avctx->height); return AVERROR(EINVAL); } + if (avctx->width & 1) { + av_log(avctx, AV_LOG_ERROR, "Invalid frame width: %d.\n", avctx->width); + return AVERROR(EINVAL); + } s->buffer_size = avctx->width * avctx->height; s->y_buffer = av_malloc(s->buffer_size);