[FFmpeg-cvslog] avcodec/vp56: use av_reallocp_array() and check if allocation failed

Paul B Mahol git at videolan.org
Tue Sep 10 17:44:42 CEST 2013


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Mon Sep  9 14:48:37 2013 +0000| [942babd87f18372c2b533b246a083250640466b8] | committer: Paul B Mahol

avcodec/vp56: use av_reallocp_array() and check if allocation failed

Signed-off-by: Paul B Mahol <onemda at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=942babd87f18372c2b533b246a083250640466b8
---

 libavcodec/vp56.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c
index 38f0e08..25801ea 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;
 



More information about the ffmpeg-cvslog mailing list