From c6abf214923ae8ee07456c5594f632a10499442b Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Fri, 10 Feb 2012 22:41:48 +0000 Subject: [PATCH] tta: do not leak memory if bps == 3 In bps == 3 case output is decoded directly. Signed-off-by: Paul B Mahol Signed-off-by: Michael Niedermayer --- libavcodec/tta.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavcodec/tta.c b/libavcodec/tta.c index ab83730dfd..0e3bbd224c 100644 --- a/libavcodec/tta.c +++ b/libavcodec/tta.c @@ -279,9 +279,11 @@ static av_cold int tta_decode_init(AVCodecContext * avctx) return -1; } - s->decode_buffer = av_mallocz(sizeof(int32_t)*s->frame_length*s->channels); - if (!s->decode_buffer) - return AVERROR(ENOMEM); + if (s->bps < 3) { + s->decode_buffer = av_mallocz(sizeof(int32_t)*s->frame_length*s->channels); + if (!s->decode_buffer) + return AVERROR(ENOMEM); + } s->ch_ctx = av_malloc(avctx->channels * sizeof(*s->ch_ctx)); if (!s->ch_ctx) { av_freep(&s->decode_buffer); -- 2.11.0