diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-10-06 15:29:32 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-01-11 15:15:53 +0100 |
commit | 952c62f658a58f2047ea7e2506d59c0947755f35 (patch) | |
tree | 1490656ecb91df482dd40fd8de65415791cf4f04 /libavfilter | |
parent | 7f7e601e818b4b32e56d7f1699de2f94706b1940 (diff) | |
download | ffmpeg-952c62f658a58f2047ea7e2506d59c0947755f35.tar.gz |
avfilter/af_surround: Fix memleaks upon allocation error
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
(cherry picked from commit 0429d8eed85674ae19cccab81f7fbb13a4ccc705)
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/af_surround.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c index d18b3146e7..c0b8b002c2 100644 --- a/libavfilter/af_surround.c +++ b/libavfilter/af_surround.c @@ -203,13 +203,13 @@ static int config_input(AVFilterLink *inlink) s->rdft = av_calloc(inlink->channels, sizeof(*s->rdft)); if (!s->rdft) return AVERROR(ENOMEM); + s->nb_in_channels = inlink->channels; for (ch = 0; ch < inlink->channels; ch++) { s->rdft[ch] = av_rdft_init(ff_log2(s->buf_size), DFT_R2C); if (!s->rdft[ch]) return AVERROR(ENOMEM); } - s->nb_in_channels = inlink->channels; s->input_levels = av_malloc_array(s->nb_in_channels, sizeof(*s->input_levels)); if (!s->input_levels) return AVERROR(ENOMEM); @@ -266,13 +266,13 @@ static int config_output(AVFilterLink *outlink) s->irdft = av_calloc(outlink->channels, sizeof(*s->irdft)); if (!s->irdft) return AVERROR(ENOMEM); + s->nb_out_channels = outlink->channels; for (ch = 0; ch < outlink->channels; ch++) { s->irdft[ch] = av_rdft_init(ff_log2(s->buf_size), IDFT_C2R); if (!s->irdft[ch]) return AVERROR(ENOMEM); } - s->nb_out_channels = outlink->channels; s->output_levels = av_malloc_array(s->nb_out_channels, sizeof(*s->output_levels)); if (!s->output_levels) return AVERROR(ENOMEM); |