[FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init()
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Fri Nov 11 19:36:22 EET 2022
Andreas Rheinhardt:
> Should fix Coverity issue #1516766.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> libavfilter/af_surround.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c
> index 858fed609a..969325cf6b 100644
> --- a/libavfilter/af_surround.c
> +++ b/libavfilter/af_surround.c
> @@ -194,7 +194,7 @@ static int config_input(AVFilterLink *inlink)
> {
> AVFilterContext *ctx = inlink->dst;
> AudioSurroundContext *s = ctx->priv;
> - int ch;
> + int ch, err;
>
> s->rdft = av_calloc(inlink->ch_layout.nb_channels, sizeof(*s->rdft));
> if (!s->rdft)
> @@ -204,9 +204,10 @@ static int config_input(AVFilterLink *inlink)
> for (ch = 0; ch < inlink->ch_layout.nb_channels; ch++) {
> float scale = 1.f;
>
> - av_tx_init(&s->rdft[ch], &s->tx_fn, AV_TX_FLOAT_RDFT, 0, s->buf_size, &scale, 0);
> - if (!s->rdft[ch])
> - return AVERROR(ENOMEM);
> + err = av_tx_init(&s->rdft[ch], &s->tx_fn, AV_TX_FLOAT_RDFT,
> + 0, s->buf_size, &scale, 0);
> + if (err < 0)
> + return err;
> }
> s->input_levels = av_malloc_array(s->nb_in_channels, sizeof(*s->input_levels));
> if (!s->input_levels)
> @@ -263,7 +264,7 @@ static int config_output(AVFilterLink *outlink)
> {
> AVFilterContext *ctx = outlink->src;
> AudioSurroundContext *s = ctx->priv;
> - int ch;
> + int ch, err;
>
> s->irdft = av_calloc(outlink->ch_layout.nb_channels, sizeof(*s->irdft));
> if (!s->irdft)
> @@ -273,9 +274,10 @@ static int config_output(AVFilterLink *outlink)
> for (ch = 0; ch < outlink->ch_layout.nb_channels; ch++) {
> float iscale = 1.f;
>
> - av_tx_init(&s->irdft[ch], &s->itx_fn, AV_TX_FLOAT_RDFT, 1, s->buf_size, &iscale, 0);
> - if (!s->irdft[ch])
> - return AVERROR(ENOMEM);
> + err = av_tx_init(&s->irdft[ch], &s->itx_fn, AV_TX_FLOAT_RDFT,
> + 1, s->buf_size, &iscale, 0);
> + if (err < 0)
> + return err;
> }
> s->output_levels = av_malloc_array(s->nb_out_channels, sizeof(*s->output_levels));
> if (!s->output_levels)
Will apply this patchset tomorrow unless there are objections.
- Andreas
More information about the ffmpeg-devel
mailing list