diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c index b0e84ea3c0..16ccdba9b1 100644 --- a/libavcodec/takdec.c +++ b/libavcodec/takdec.c @@ -748,6 +748,8 @@ static int tak_decode_frame(AVCodecContext *avctx, void *data, int buf_size = av_samples_get_buffer_size(NULL, avctx->channels, s->nb_samples, AV_SAMPLE_FMT_S32P, 0); + if (buf_size < 0) + return buf_size; av_fast_malloc(&s->decode_buffer, &s->decode_buffer_size, buf_size); if (!s->decode_buffer) return AVERROR(ENOMEM);