diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2011-10-24 09:20:07 -0400 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2011-10-25 11:22:02 -0400 |
commit | 2f1d212fd0e62bd8cb2799e15661aa59e38f2a13 (patch) | |
tree | 5918d1ee130454a057b19d66e18f196856be4b43 /libavcodec/tta.c | |
parent | b5050539c9e78186fc090a5c8b6b767590484c59 (diff) | |
download | ffmpeg-2f1d212fd0e62bd8cb2799e15661aa59e38f2a13.tar.gz |
tta: check for allocation failure of decode_buffer
Diffstat (limited to 'libavcodec/tta.c')
-rw-r--r-- | libavcodec/tta.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/tta.c b/libavcodec/tta.c index ddfcb2ebc1..ed8d76bc1a 100644 --- a/libavcodec/tta.c +++ b/libavcodec/tta.c @@ -263,10 +263,14 @@ static av_cold int tta_decode_init(AVCodecContext * avctx) if (s->bps == 2) { 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) + if (!s->ch_ctx) { + av_freep(&s->decode_buffer); return AVERROR(ENOMEM); + } } else { av_log(avctx, AV_LOG_ERROR, "Wrong extradata present\n"); return -1; |