Message ID | AS8P250MB074465F4EB46CDB0AD5182FA8F3E9@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM |
---|---|
State | Accepted |
Headers | show |
Series | [FFmpeg-devel,1/4] avfilter/af_surround: Check return value of av_tx_init() | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Andreas Rheinhardt: > Should fix Coverity issue #1516766. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@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
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)
Should fix Coverity issue #1516766. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavfilter/af_surround.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-)