[FFmpeg-cvslog] avcodec/ratecontrol: Check for av_malloc*() failures

Michael Niedermayer git at videolan.org
Sat Jan 10 19:39:16 CET 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Jan 10 19:29:39 2015 +0100| [0898a6d4e4b669704fce663f610aa43dd7483fe9] | committer: Michael Niedermayer

avcodec/ratecontrol: Check for av_malloc*() failures

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/ratecontrol.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c
index d05e2ee..b83af59 100644
--- a/libavcodec/ratecontrol.c
+++ b/libavcodec/ratecontrol.c
@@ -175,6 +175,8 @@ av_cold int ff_rate_control_init(MpegEncContext *s)
         if (i <= 0 || i >= INT_MAX / sizeof(RateControlEntry))
             return -1;
         rcc->entry       = av_mallocz(i * sizeof(RateControlEntry));
+        if (!rcc->entry)
+            return AVERROR(ENOMEM);
         rcc->num_entries = i;
 
         /* init all to skipped p frames
@@ -953,6 +955,11 @@ static int init_pass2(MpegEncContext *s)
 
     qscale         = av_malloc_array(rcc->num_entries, sizeof(double));
     blurred_qscale = av_malloc_array(rcc->num_entries, sizeof(double));
+    if (!qscale || !blurred_qscale) {
+        av_free(qscale);
+        av_free(blurred_qscale);
+        return AVERROR(ENOMEM);
+    }
     toobig = 0;
 
     for (step = 256 * 256; step > 0.0000001; step *= 0.5) {



More information about the ffmpeg-cvslog mailing list