mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-26 08:41:38 +00:00
mmvideo: check frame dimensions
The frame size must be set by the caller and each dimension must be a multiple of 2. CC: libav-stable@libav.org Bug-ID: CVE-2014-8543 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind (cherry picked from commit17ba719d9b
) Signed-off-by: Anton Khirnov <anton@khirnov.net> (cherry picked from commit69a930b988
) Signed-off-by: Anton Khirnov <anton@khirnov.net> (cherry picked from commit3f10a779b4
) Signed-off-by: Anton Khirnov <anton@khirnov.net> Conflicts: libavcodec/mmvideo.c
This commit is contained in:
parent
50cb695bf1
commit
03dba25a40
@ -60,6 +60,13 @@ static av_cold int mm_decode_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
avctx->pix_fmt = AV_PIX_FMT_PAL8;
|
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;
|
s->frame.reference = 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user