summaryrefslogtreecommitdiff
path: root/libavcodec/roqvideodec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-11-29 15:18:17 +0100
committerReinhard Tartler <siretart@tauware.de>2013-02-17 11:31:20 +0100
commit488f87be873506abb01d67708a67c10a4dd29283 (patch)
tree784b965f4cb6d845bfe27abd0c9c3e496cf81d40 /libavcodec/roqvideodec.c
parentf7d18deb73d1dd1b27b2c7062c9a10d168a6c62a (diff)
roqvideodec: check dimensions validity
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 3ae610451170cd5a28b33950006ff0bd23036845) Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit fee26d352a52eb9f7fcd8d9167fb4a5ba015b612) CC: libav-stable@libav.org Signed-off-by: Reinhard Tartler <siretart@tauware.de>
Diffstat (limited to 'libavcodec/roqvideodec.c')
-rw-r--r--libavcodec/roqvideodec.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/roqvideodec.c b/libavcodec/roqvideodec.c
index 2543cecb27..3ee62c01b5 100644
--- a/libavcodec/roqvideodec.c
+++ b/libavcodec/roqvideodec.c
@@ -159,6 +159,13 @@ static av_cold int roq_decode_init(AVCodecContext *avctx)
RoqContext *s = avctx->priv_data;
s->avctx = avctx;
+
+ if (avctx->width % 16 || avctx->height % 16) {
+ av_log(avctx, AV_LOG_ERROR,
+ "Dimensions must be a multiple of 16\n");
+ return AVERROR_PATCHWELCOME;
+ }
+
s->width = avctx->width;
s->height = avctx->height;
s->last_frame = &s->frames[0];