diff --git a/libavcodec/eamad.c b/libavcodec/eamad.c index 1f6282394e..cc6f9d38ef 100644 --- a/libavcodec/eamad.c +++ b/libavcodec/eamad.c @@ -268,6 +268,8 @@ static int decode_frame(AVCodecContext *avctx, buf += 16; 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) return -1; avcodec_set_dimensions(avctx, s->width, s->height);