Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-01-10 21:29:39 +0300
committerMichael Niedermayer <michaelni@gmx.at>2015-01-10 21:29:39 +0300
commit0898a6d4e4b669704fce663f610aa43dd7483fe9 (patch)
treeb7704fc8377884ae700a5a24bbdd50da5c5b74f5 /libavcodec/ratecontrol.c
parent1bf747ae84fc7b1339ab4459d9d9ba2e9c341616 (diff)
avcodec/ratecontrol: Check for av_malloc*() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/ratecontrol.c')
-rw-r--r--libavcodec/ratecontrol.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c
index d05e2ee629..b83af5916c 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) {