* [FFmpeg-devel] [PATCH 2/4] avfilter/vf_fftfilt: Check return value of av_tx_init()
2022-11-09 16:34 [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init() Andreas Rheinhardt
@ 2022-11-09 16:37 ` Andreas Rheinhardt
2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 3/4] avfilter/af_afir: " Andreas Rheinhardt
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-11-09 16:37 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Should fix Coverity issue #1516765.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavfilter/vf_fftfilt.c | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/libavfilter/vf_fftfilt.c b/libavfilter/vf_fftfilt.c
index 067ce7eb30..231e74fd72 100644
--- a/libavfilter/vf_fftfilt.c
+++ b/libavfilter/vf_fftfilt.c
@@ -306,7 +306,7 @@ static int config_props(AVFilterLink *inlink)
{
FFTFILTContext *s = inlink->dst->priv;
const AVPixFmtDescriptor *desc;
- int i, plane;
+ int err, i, plane;
desc = av_pix_fmt_desc_get(inlink->format);
s->depth = desc->comp[0].depth;
@@ -335,12 +335,14 @@ static int config_props(AVFilterLink *inlink)
for (int j = 0; j < s->nb_threads; j++) {
float scale = 1.f, iscale = 1.f;
- av_tx_init(&s->hrdft[j][i], &s->htx_fn, AV_TX_FLOAT_RDFT, 0, 1 << s->rdft_hbits[i], &scale, 0);
- if (!s->hrdft[j][i])
- return AVERROR(ENOMEM);
- av_tx_init(&s->ihrdft[j][i], &s->ihtx_fn, AV_TX_FLOAT_RDFT, 1, 1 << s->rdft_hbits[i], &iscale, 0);
- if (!s->ihrdft[j][i])
- return AVERROR(ENOMEM);
+ err = av_tx_init(&s->hrdft[j][i], &s->htx_fn, AV_TX_FLOAT_RDFT,
+ 0, 1 << s->rdft_hbits[i], &scale, 0);
+ if (err < 0)
+ return err;
+ err = av_tx_init(&s->ihrdft[j][i], &s->ihtx_fn, AV_TX_FLOAT_RDFT,
+ 1, 1 << s->rdft_hbits[i], &iscale, 0);
+ if (err < 0)
+ return err;
}
/* RDFT - Array initialization for Vertical pass*/
@@ -356,12 +358,14 @@ static int config_props(AVFilterLink *inlink)
for (int j = 0; j < s->nb_threads; j++) {
float scale = 1.f, iscale = 1.f;
- av_tx_init(&s->vrdft[j][i], &s->vtx_fn, AV_TX_FLOAT_RDFT, 0, 1 << s->rdft_vbits[i], &scale, 0);
- if (!s->vrdft[j][i])
- return AVERROR(ENOMEM);
- av_tx_init(&s->ivrdft[j][i], &s->ivtx_fn, AV_TX_FLOAT_RDFT, 1, 1 << s->rdft_vbits[i], &iscale, 0);
- if (!s->ivrdft[j][i])
- return AVERROR(ENOMEM);
+ err = av_tx_init(&s->vrdft[j][i], &s->vtx_fn, AV_TX_FLOAT_RDFT,
+ 0, 1 << s->rdft_vbits[i], &scale, 0);
+ if (err < 0)
+ return err;
+ err = av_tx_init(&s->ivrdft[j][i], &s->ivtx_fn, AV_TX_FLOAT_RDFT,
+ 1, 1 << s->rdft_vbits[i], &iscale, 0);
+ if (err < 0)
+ return err;
}
}
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH 3/4] avfilter/af_afir: Check return value of av_tx_init()
2022-11-09 16:34 [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init() Andreas Rheinhardt
2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 2/4] avfilter/vf_fftfilt: " Andreas Rheinhardt
@ 2022-11-09 16:37 ` Andreas Rheinhardt
2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 4/4] avfilter/vf_fftdnoiz: " Andreas Rheinhardt
2022-11-11 17:36 ` [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: " Andreas Rheinhardt
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-11-09 16:37 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Should fix Coverity issue #1516762.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavfilter/af_afir.c | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/libavfilter/af_afir.c b/libavfilter/af_afir.c
index e1fe7d6a64..910999cce7 100644
--- a/libavfilter/af_afir.c
+++ b/libavfilter/af_afir.c
@@ -158,6 +158,7 @@ static int init_segment(AVFilterContext *ctx, AudioFIRSegment *seg,
int offset, int nb_partitions, int part_size)
{
AudioFIRContext *s = ctx->priv;
+ int err;
seg->tx = av_calloc(ctx->inputs[0]->ch_layout.nb_channels, sizeof(*seg->tx));
seg->itx = av_calloc(ctx->inputs[0]->ch_layout.nb_channels, sizeof(*seg->itx));
@@ -178,22 +179,29 @@ static int init_segment(AVFilterContext *ctx, AudioFIRSegment *seg,
return AVERROR(ENOMEM);
for (int ch = 0; ch < ctx->inputs[0]->ch_layout.nb_channels && part_size >= 8; ch++) {
- double dscale = 1.0, idscale = 1.0 / part_size;
- float fscale = 1.f, ifscale = 1.f / part_size;
+ union { double d; float f; } scale, iscale;
+ enum AVTXType tx_type;
switch (s->format) {
case AV_SAMPLE_FMT_FLTP:
- av_tx_init(&seg->tx[ch], &seg->tx_fn, AV_TX_FLOAT_RDFT, 0, 2 * part_size, &fscale, 0);
- av_tx_init(&seg->itx[ch], &seg->itx_fn, AV_TX_FLOAT_RDFT, 1, 2 * part_size, &ifscale, 0);
+ scale.f = 1.f;
+ iscale.f = 1.f / part_size;
+ tx_type = AV_TX_FLOAT_RDFT;
break;
case AV_SAMPLE_FMT_DBLP:
- av_tx_init(&seg->tx[ch], &seg->tx_fn, AV_TX_DOUBLE_RDFT, 0, 2 * part_size, &dscale, 0);
- av_tx_init(&seg->itx[ch], &seg->itx_fn, AV_TX_DOUBLE_RDFT, 1, 2 * part_size, &idscale, 0);
+ scale.d = 1.0;
+ iscale.d = 1.0 / part_size;
+ tx_type = AV_TX_DOUBLE_RDFT;
break;
}
-
- if (!seg->tx[ch] || !seg->itx[ch])
- return AVERROR(ENOMEM);
+ err = av_tx_init(&seg->tx[ch], &seg->tx_fn, tx_type,
+ 0, 2 * part_size, &scale, 0);
+ if (err < 0)
+ return err;
+ err = av_tx_init(&seg->itx[ch], &seg->itx_fn, tx_type,
+ 1, 2 * part_size, &iscale, 0);
+ if (err < 0)
+ return err;
}
seg->sumin = ff_get_audio_buffer(ctx->inputs[0], seg->fft_length);
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH 4/4] avfilter/vf_fftdnoiz: Check return value of av_tx_init()
2022-11-09 16:34 [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init() Andreas Rheinhardt
2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 2/4] avfilter/vf_fftfilt: " Andreas Rheinhardt
2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 3/4] avfilter/af_afir: " Andreas Rheinhardt
@ 2022-11-09 16:37 ` Andreas Rheinhardt
2022-11-11 17:36 ` [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: " Andreas Rheinhardt
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-11-09 16:37 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Andreas Rheinhardt
Should fix Coverity issue #1500329.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
libavfilter/vf_fftdnoiz.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/libavfilter/vf_fftdnoiz.c b/libavfilter/vf_fftdnoiz.c
index e74f40b4cb..f7200699c6 100644
--- a/libavfilter/vf_fftdnoiz.c
+++ b/libavfilter/vf_fftdnoiz.c
@@ -208,13 +208,17 @@ static int config_input(AVFilterLink *inlink)
for (int i = 0; i < s->nb_threads; i++) {
float scale = 1.f, iscale = 1.f;
-
- av_tx_init(&s->fft[i], &s->tx_fn, AV_TX_FLOAT_FFT, 0, s->block_size, &scale, 0);
- av_tx_init(&s->ifft[i], &s->itx_fn, AV_TX_FLOAT_FFT, 1, s->block_size, &iscale, 0);
- av_tx_init(&s->fft_r[i], &s->tx_r_fn, AV_TX_FLOAT_FFT, 0, 1 + s->nb_prev + s->nb_next, &scale, 0);
- av_tx_init(&s->ifft_r[i], &s->itx_r_fn, AV_TX_FLOAT_FFT, 1, 1 + s->nb_prev + s->nb_next, &iscale, 0);
- if (!s->fft[i] || !s->ifft[i] || !s->fft_r[i] || !s->ifft_r[i])
- return AVERROR(ENOMEM);
+ int err;
+
+ if ((err = av_tx_init(&s->fft[i], &s->tx_fn, AV_TX_FLOAT_FFT,
+ 0, s->block_size, &scale, 0)) < 0 ||
+ (err = av_tx_init(&s->ifft[i], &s->itx_fn, AV_TX_FLOAT_FFT,
+ 1, s->block_size, &iscale, 0)) < 0 ||
+ (err = av_tx_init(&s->fft_r[i], &s->tx_r_fn, AV_TX_FLOAT_FFT,
+ 0, 1 + s->nb_prev + s->nb_next, &scale, 0)) < 0 ||
+ (err = av_tx_init(&s->ifft_r[i], &s->itx_r_fn, AV_TX_FLOAT_FFT,
+ 1, 1 + s->nb_prev + s->nb_next, &iscale, 0)) < 0)
+ return err;
}
for (i = 0; i < s->nb_planes; i++) {
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init()
2022-11-09 16:34 [FFmpeg-devel] [PATCH 1/4] avfilter/af_surround: Check return value of av_tx_init() Andreas Rheinhardt
` (2 preceding siblings ...)
2022-11-09 16:37 ` [FFmpeg-devel] [PATCH 4/4] avfilter/vf_fftdnoiz: " Andreas Rheinhardt
@ 2022-11-11 17:36 ` Andreas Rheinhardt
3 siblings, 0 replies; 5+ messages in thread
From: Andreas Rheinhardt @ 2022-11-11 17:36 UTC (permalink / raw)
To: ffmpeg-devel
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
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread