ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinha...@outlook.com> | Thu May 6 17:28:50 2021 +0200| [bd1cbb5427c156f40f1a94c57dac0cf667f34b7b] | committer: Andreas Rheinhardt
avcodec/wmadec: Check operations that can fail Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bd1cbb5427c156f40f1a94c57dac0cf667f34b7b --- libavcodec/wmadec.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c index 6eec85e59a..47abcecc9c 100644 --- a/libavcodec/wmadec.c +++ b/libavcodec/wmadec.c @@ -106,20 +106,31 @@ static av_cold int wma_decode_init(AVCodecContext *avctx) return ret; /* init MDCT */ - for (i = 0; i < s->nb_block_sizes; i++) - ff_mdct_init(&s->mdct_ctx[i], s->frame_len_bits - i + 1, 1, 1.0 / 32768.0); + for (i = 0; i < s->nb_block_sizes; i++) { + ret = ff_mdct_init(&s->mdct_ctx[i], s->frame_len_bits - i + 1, + 1, 1.0 / 32768.0); + if (ret < 0) + return ret; + } if (s->use_noise_coding) { - ff_init_vlc_from_lengths(&s->hgain_vlc, HGAINVLCBITS, FF_ARRAY_ELEMS(ff_wma_hgain_hufftab), - &ff_wma_hgain_hufftab[0][1], 2, - &ff_wma_hgain_hufftab[0][0], 2, 1, -18, 0, avctx); + ret = ff_init_vlc_from_lengths(&s->hgain_vlc, HGAINVLCBITS, + FF_ARRAY_ELEMS(ff_wma_hgain_hufftab), + &ff_wma_hgain_hufftab[0][1], 2, + &ff_wma_hgain_hufftab[0][0], 2, 1, + -18, 0, avctx); + if (ret < 0) + return ret; } - if (s->use_exp_vlc) - init_vlc(&s->exp_vlc, EXPVLCBITS, sizeof(ff_aac_scalefactor_bits), // FIXME move out of context - ff_aac_scalefactor_bits, 1, 1, - ff_aac_scalefactor_code, 4, 4, 0); - else + if (s->use_exp_vlc) { + // FIXME move out of context + ret = init_vlc(&s->exp_vlc, EXPVLCBITS, sizeof(ff_aac_scalefactor_bits), + ff_aac_scalefactor_bits, 1, 1, + ff_aac_scalefactor_code, 4, 4, 0); + if (ret < 0) + return ret; + } else wma_lsp_to_curve_init(s, s->frame_len); avctx->sample_fmt = AV_SAMPLE_FMT_FLTP; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".