Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-05-06 00:03:41 +0300
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-05-10 23:12:01 +0300
commita1b01483665716a617e454414be14a749f334f63 (patch)
tree9c813a23723c74074c7c9b8ba63981fcfdd568ac /libavcodec/wmaprodec.c
parent6fc4f28a11f41fd6b26a1c027c76670ab0be6db3 (diff)
avcodec/wmaprodec: Check ff_mdct_init() for failure
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/wmaprodec.c')
-rw-r--r--libavcodec/wmaprodec.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
index 9607e50968..4b2dceb5bc 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -318,7 +318,7 @@ static av_cold int decode_init(WMAProDecodeCtx *s, AVCodecContext *avctx, int nu
{
uint8_t *edata_ptr = avctx->extradata;
unsigned int channel_mask;
- int i, bits;
+ int i, bits, ret;
int log2_max_num_subframes;
int num_possible_block_sizes;
@@ -543,10 +543,13 @@ static av_cold int decode_init(WMAProDecodeCtx *s, AVCodecContext *avctx, int nu
return AVERROR(ENOMEM);
/** init MDCT, FIXME: only init needed sizes */
- for (i = 0; i < WMAPRO_BLOCK_SIZES; i++)
- ff_mdct_init(&s->mdct_ctx[i], WMAPRO_BLOCK_MIN_BITS+1+i, 1,
- 1.0 / (1 << (WMAPRO_BLOCK_MIN_BITS + i - 1))
- / (1ll << (s->bits_per_sample - 1)));
+ for (int i = 0; i < WMAPRO_BLOCK_SIZES; i++) {
+ ret = ff_mdct_init(&s->mdct_ctx[i], WMAPRO_BLOCK_MIN_BITS + 1 + i, 1,
+ 1.0 / (1 << (WMAPRO_BLOCK_MIN_BITS + i - 1))
+ / (1ll << (s->bits_per_sample - 1)));
+ if (ret < 0)
+ return ret;
+ }
/** init MDCT windows: simple sine window */
for (i = 0; i < WMAPRO_BLOCK_SIZES; i++) {