avcodec/tta: Check init_get_bits8() for failure

Fixes: CID1322319

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2015-09-04 01:18:13 +02:00
parent cbd3cd8eb2
commit f1593e4ca5
1 changed files with 5 additions and 1 deletions

View File

@ -123,6 +123,7 @@ static av_cold int tta_decode_init(AVCodecContext * avctx)
TTAContext *s = avctx->priv_data; TTAContext *s = avctx->priv_data;
GetBitContext gb; GetBitContext gb;
int total_frames; int total_frames;
int ret;
s->avctx = avctx; s->avctx = avctx;
@ -131,7 +132,10 @@ static av_cold int tta_decode_init(AVCodecContext * avctx)
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
s->crc_table = av_crc_get_table(AV_CRC_32_IEEE_LE); s->crc_table = av_crc_get_table(AV_CRC_32_IEEE_LE);
init_get_bits8(&gb, avctx->extradata, avctx->extradata_size); ret = init_get_bits8(&gb, avctx->extradata, avctx->extradata_size);
if (ret < 0)
return ret;
if (show_bits_long(&gb, 32) == AV_RL32("TTA1")) { if (show_bits_long(&gb, 32) == AV_RL32("TTA1")) {
/* signature */ /* signature */
skip_bits_long(&gb, 32); skip_bits_long(&gb, 32);