diff mbox series

[FFmpeg-devel,1/4] avfilter/af_surround: Check return value of av_tx_init()

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

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Andreas Rheinhardt Nov. 9, 2022, 4:34 p.m. UTC
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(-)

Comments

Andreas Rheinhardt Nov. 11, 2022, 5:36 p.m. UTC | #1
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 mbox series

Patch

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)