summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-08-14 18:58:49 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-09-15 00:21:22 +0200
commitd721cb009d73662f35c629bdc678e25786e79301 (patch)
tree3225f10f87810ffde7e656929060d053a5b5f2e3
parent55b3e408fa18b918bd0cabb1b27f1f0c4ce57a64 (diff)
downloadffmpeg-d721cb009d73662f35c629bdc678e25786e79301.tar.gz
bmv_videodec: fix out of array read
Fixes Ticket1373 Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 70f0ffa1ed456fd0b560d0dd1d0d93f1ba3a6d93) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/bmv.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/bmv.c b/libavcodec/bmv.c
index 35923a28d6..d2f4e9f86c 100644
--- a/libavcodec/bmv.c
+++ b/libavcodec/bmv.c
@@ -268,6 +268,11 @@ static av_cold int decode_init(AVCodecContext *avctx)
c->avctx = avctx;
avctx->pix_fmt = PIX_FMT_PAL8;
+ if (avctx->width != SCREEN_WIDE || avctx->height != SCREEN_HIGH) {
+ av_log(avctx, AV_LOG_ERROR, "Invalid dimension %dx%d\n", avctx->width, avctx->height);
+ return AVERROR_INVALIDDATA;
+ }
+
c->pic.reference = 1;
if (avctx->get_buffer(avctx, &c->pic) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");