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>
pull/3/merge
Paul B Mahol 13 years ago committed by Michael Niedermayer
parent a697a185e4
commit c6abf21492
  1. 8
      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);

Loading…
Cancel
Save