summaryrefslogtreecommitdiff
path: root/libavcodec/eamad.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-12-19 16:27:52 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-12-19 16:27:52 +0100
commit03a9c9932dbceff4d42d82b9c4fccf860093f0e9 (patch)
tree510ccbb4bb45723efd8abfd4e4487a07535fb457 /libavcodec/eamad.c
parent32a92d325893f15c8f3cbe8dfd4bc6075178039b (diff)
downloadffmpeg-03a9c9932dbceff4d42d82b9c4fccf860093f0e9.tar.gz
eamad: fix excessive memory allocation.
Fixes Ticket792 Bug found by Oana Stratulat Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/eamad.c')
-rw-r--r--libavcodec/eamad.c2
1 files changed, 2 insertions, 0 deletions
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);