From 942babd87f18372c2b533b246a083250640466b8 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Mon, 9 Sep 2013 14:48:37 +0000 Subject: [PATCH] avcodec/vp56: use av_reallocp_array() and check if allocation failed Signed-off-by: Paul B Mahol --- libavcodec/vp56.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c index 38f0e08f38..25801ea6c0 100644 --- a/libavcodec/vp56.c +++ b/libavcodec/vp56.c @@ -475,13 +475,15 @@ static int vp56_size_changed(VP56Context *s) return -1; } - s->above_blocks = av_realloc(s->above_blocks, - (4*s->mb_width+6) * sizeof(*s->above_blocks)); - s->macroblocks = av_realloc(s->macroblocks, - s->mb_width*s->mb_height*sizeof(*s->macroblocks)); + av_reallocp_array(&s->above_blocks, 4*s->mb_width+6, + sizeof(*s->above_blocks)); + av_reallocp_array(&s->macroblocks, s->mb_width*s->mb_height, + sizeof(*s->macroblocks)); av_free(s->edge_emu_buffer_alloc); s->edge_emu_buffer_alloc = av_malloc(16*stride); s->edge_emu_buffer = s->edge_emu_buffer_alloc; + if (!s->above_blocks || !s->macroblocks || !s->edge_emu_buffer_alloc) + return AVERROR(ENOMEM); if (s->flip < 0) s->edge_emu_buffer += 15 * stride;