diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-11-09 16:23:53 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-11-12 13:33:58 +0100 |
commit | 36d0550bc976191facbf92158a18f4d4a380cdf3 (patch) | |
tree | f813404d0c630837ebc5a1ea7034565dc028f013 /libavfilter/vf_fftfilt.c | |
parent | b6fcf3a617e5a78408a5f13f3552d7a2d8ed6051 (diff) | |
download | ffmpeg-36d0550bc976191facbf92158a18f4d4a380cdf3.tar.gz |
avfilter/vf_fftfilt: Check return value of av_tx_init()
Should fix Coverity issue #1516765.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavfilter/vf_fftfilt.c')
-rw-r--r-- | libavfilter/vf_fftfilt.c | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/libavfilter/vf_fftfilt.c b/libavfilter/vf_fftfilt.c index 067ce7eb30..1953e969a0 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 ret, 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); + ret = av_tx_init(&s->hrdft[j][i], &s->htx_fn, AV_TX_FLOAT_RDFT, + 0, 1 << s->rdft_hbits[i], &scale, 0); + if (ret < 0) + return ret; + ret = av_tx_init(&s->ihrdft[j][i], &s->ihtx_fn, AV_TX_FLOAT_RDFT, + 1, 1 << s->rdft_hbits[i], &iscale, 0); + if (ret < 0) + return ret; } /* 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); + ret = av_tx_init(&s->vrdft[j][i], &s->vtx_fn, AV_TX_FLOAT_RDFT, + 0, 1 << s->rdft_vbits[i], &scale, 0); + if (ret < 0) + return ret; + ret = av_tx_init(&s->ivrdft[j][i], &s->ivtx_fn, AV_TX_FLOAT_RDFT, + 1, 1 << s->rdft_vbits[i], &iscale, 0); + if (ret < 0) + return ret; } } |