tta: check for allocation failure of decode_buffer

This commit is contained in:
Justin Ruggles 2011-10-24 09:20:07 -04:00
parent b5050539c9
commit 2f1d212fd0
1 changed files with 5 additions and 1 deletions

View File

@ -263,10 +263,14 @@ static av_cold int tta_decode_init(AVCodecContext * avctx)
if (s->bps == 2) { if (s->bps == 2) {
s->decode_buffer = av_mallocz(sizeof(int32_t)*s->frame_length*s->channels); 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)); 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); return AVERROR(ENOMEM);
}
} else { } else {
av_log(avctx, AV_LOG_ERROR, "Wrong extradata present\n"); av_log(avctx, AV_LOG_ERROR, "Wrong extradata present\n");
return -1; return -1;