diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-01-10 19:29:39 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-01-10 19:29:39 +0100 |
commit | 0898a6d4e4b669704fce663f610aa43dd7483fe9 (patch) | |
tree | b7704fc8377884ae700a5a24bbdd50da5c5b74f5 /libavcodec/ratecontrol.c | |
parent | 1bf747ae84fc7b1339ab4459d9d9ba2e9c341616 (diff) | |
download | ffmpeg-0898a6d4e4b669704fce663f610aa43dd7483fe9.tar.gz |
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.c | 7 |
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) { |