eamad: fix excessive memory allocation.

Fixes Ticket792
Bug found by Oana Stratulat

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2011-12-19 16:27:52 +01:00
parent 32a92d3258
commit 03a9c9932d

View File

@ -268,6 +268,8 @@ static int decode_frame(AVCodecContext *avctx,
buf += 16; buf += 16;
if (avctx->width != s->width || avctx->height != s->height) { if (avctx->width != s->width || avctx->height != s->height) {
if((s->width * s->height)/2048*7 > buf_end-buf)
return -1;
if (av_image_check_size(s->width, s->height, 0, avctx) < 0) if (av_image_check_size(s->width, s->height, 0, avctx) < 0)
return -1; return -1;
avcodec_set_dimensions(avctx, s->width, s->height); avcodec_set_dimensions(avctx, s->width, s->height);