OSDN Git Service

takdec: check av_samples_get_buffer_size() return value
authorVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 17 Dec 2014 14:19:42 +0000 (15:19 +0100)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Thu, 18 Dec 2014 22:27:14 +0000 (23:27 +0100)
CC: libav-stable@libav.org
Bug-Id: CID 747734

libavcodec/takdec.c

index b0e84ea..16ccdba 100644 (file)
@@ -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);