diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-08-14 18:58:49 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-09-15 00:21:22 +0200 |
commit | d721cb009d73662f35c629bdc678e25786e79301 (patch) | |
tree | 3225f10f87810ffde7e656929060d053a5b5f2e3 | |
parent | 55b3e408fa18b918bd0cabb1b27f1f0c4ce57a64 (diff) | |
download | ffmpeg-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.c | 5 |
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"); |