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>
This commit is contained in:
parent
cd1aaec760
commit
0429d8eed8
@ -200,13 +200,13 @@ static int config_input(AVFilterLink *inlink)
|
|||||||
s->rdft = av_calloc(inlink->channels, sizeof(*s->rdft));
|
s->rdft = av_calloc(inlink->channels, sizeof(*s->rdft));
|
||||||
if (!s->rdft)
|
if (!s->rdft)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
s->nb_in_channels = inlink->channels;
|
||||||
|
|
||||||
for (ch = 0; ch < inlink->channels; ch++) {
|
for (ch = 0; ch < inlink->channels; ch++) {
|
||||||
s->rdft[ch] = av_rdft_init(ff_log2(s->buf_size), DFT_R2C);
|
s->rdft[ch] = av_rdft_init(ff_log2(s->buf_size), DFT_R2C);
|
||||||
if (!s->rdft[ch])
|
if (!s->rdft[ch])
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
}
|
}
|
||||||
s->nb_in_channels = inlink->channels;
|
|
||||||
s->input_levels = av_malloc_array(s->nb_in_channels, sizeof(*s->input_levels));
|
s->input_levels = av_malloc_array(s->nb_in_channels, sizeof(*s->input_levels));
|
||||||
if (!s->input_levels)
|
if (!s->input_levels)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
@ -263,13 +263,13 @@ static int config_output(AVFilterLink *outlink)
|
|||||||
s->irdft = av_calloc(outlink->channels, sizeof(*s->irdft));
|
s->irdft = av_calloc(outlink->channels, sizeof(*s->irdft));
|
||||||
if (!s->irdft)
|
if (!s->irdft)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
s->nb_out_channels = outlink->channels;
|
||||||
|
|
||||||
for (ch = 0; ch < outlink->channels; ch++) {
|
for (ch = 0; ch < outlink->channels; ch++) {
|
||||||
s->irdft[ch] = av_rdft_init(ff_log2(s->buf_size), IDFT_C2R);
|
s->irdft[ch] = av_rdft_init(ff_log2(s->buf_size), IDFT_C2R);
|
||||||
if (!s->irdft[ch])
|
if (!s->irdft[ch])
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
}
|
}
|
||||||
s->nb_out_channels = outlink->channels;
|
|
||||||
s->output_levels = av_malloc_array(s->nb_out_channels, sizeof(*s->output_levels));
|
s->output_levels = av_malloc_array(s->nb_out_channels, sizeof(*s->output_levels));
|
||||||
if (!s->output_levels)
|
if (!s->output_levels)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user