[FFmpeg-devel] [PATCH] libavfilter/af_mcompand: Check for failure to allocate memory
Chris Miceli
chris at miceli.net.au
Tue Oct 13 04:07:01 EEST 2020
ticket 8931 mentions some missing null pointer checks and so this is one
diff of a few which are for these fixes. There are previous code pieces
which return ENOMEM, so this should work as intended.
---
libavfilter/af_mcompand.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/libavfilter/af_mcompand.c b/libavfilter/af_mcompand.c
index f142573bea..953f7cd407 100644
--- a/libavfilter/af_mcompand.c
+++ b/libavfilter/af_mcompand.c
@@ -386,8 +386,20 @@ static int config_output(AVFilterLink *outlink)
}
s->bands[i].attack_rate = av_calloc(outlink->channels, sizeof(double));
+ if (!s->bands[i].attack_rate) {
+ av_log(ctx, AV_LOG_ERROR, "Could not allocate memory for the attack_rate\n");
+ return AVERROR(ENOMEM);
+ }
s->bands[i].decay_rate = av_calloc(outlink->channels, sizeof(double));
+ if (!s->bands[i].decay_rate) {
+ av_log(ctx, AV_LOG_ERROR, "Could not allocate memory for the decay_rate\n");
+ return AVERROR(ENOMEM);
+ }
s->bands[i].volume = av_calloc(outlink->channels, sizeof(double));
+ if (!s->bands[i].volume) {
+ av_log(ctx, AV_LOG_ERROR, "Could not allocate memory for the volume\n");
+ return AVERROR(ENOMEM);
+ }
for (k = 0; k < FFMIN(nb_attacks / 2, outlink->channels); k++) {
char *tstr3 = av_strtok(p3, ",", &saveptr3);
--
2.28.0
More information about the ffmpeg-devel
mailing list