Module: libav Branch: release/9 Commit: 03dba25a4001495226651068232b4c6b1e75fd02
Author: Anton Khirnov <[email protected]> Committer: Anton Khirnov <[email protected]> Date: Sun Dec 14 21:01:59 2014 +0100 mmvideo: check frame dimensions The frame size must be set by the caller and each dimension must be a multiple of 2. CC: [email protected] Bug-ID: CVE-2014-8543 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind (cherry picked from commit 17ba719d9ba30c970f65747f42d5fbb1e447ca28) Signed-off-by: Anton Khirnov <[email protected]> (cherry picked from commit 69a930b988ff4f88ae27e4fc24ff6ed116840b5e) Signed-off-by: Anton Khirnov <[email protected]> (cherry picked from commit 3f10a779b465fd22d3aec1b744ca8544bc2da970) Signed-off-by: Anton Khirnov <[email protected]> Conflicts: libavcodec/mmvideo.c --- libavcodec/mmvideo.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/mmvideo.c b/libavcodec/mmvideo.c index e1ae991..9ec2acf 100644 --- a/libavcodec/mmvideo.c +++ b/libavcodec/mmvideo.c @@ -60,6 +60,13 @@ static av_cold int mm_decode_init(AVCodecContext *avctx) avctx->pix_fmt = AV_PIX_FMT_PAL8; + if (!avctx->width || !avctx->height || + (avctx->width & 1) || (avctx->height & 1)) { + av_log(avctx, AV_LOG_ERROR, "Invalid video dimensions: %dx%d\n", + avctx->width, avctx->height); + return AVERROR(EINVAL); + } + s->frame.reference = 1; return 0; _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
