tta: do not leak memory if bps == 3

In bps == 3 case output is decoded directly.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Paul B Mahol 2012-02-10 22:41:48 +00:00 committed by Michael Niedermayer
parent a697a185e4
commit c6abf21492
1 changed files with 5 additions and 3 deletions

View File

@ -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);