[FFmpeg-devel] [PATCH] tta: do not leak memory if bps == 3

Paul B Mahol onemda at gmail.com
Fri Feb 10 23:41:48 CET 2012


In bps == 3 case output is decoded directly.

Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
 libavcodec/tta.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/libavcodec/tta.c b/libavcodec/tta.c
index ab83730..0e3bbd2 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);
-- 
1.7.7



More information about the ffmpeg-devel mailing list