summaryrefslogtreecommitdiff
path: root/libavcodec/tta.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-10-24 09:20:07 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2011-10-25 11:22:02 -0400
commit2f1d212fd0e62bd8cb2799e15661aa59e38f2a13 (patch)
tree5918d1ee130454a057b19d66e18f196856be4b43 /libavcodec/tta.c
parentb5050539c9e78186fc090a5c8b6b767590484c59 (diff)
tta: check for allocation failure of decode_buffer
Diffstat (limited to 'libavcodec/tta.c')
-rw-r--r--libavcodec/tta.c6
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;