diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-09-04 01:18:13 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-09-04 01:28:25 +0200 |
commit | f1593e4ca564cdb7f3194a9eee1dea16df41142d (patch) | |
tree | b04342d6412068b5f14c0ec0d0787db5606ba3a9 /libavcodec/tta.c | |
parent | cbd3cd8eb2de2280d83da5ee875c35581b46a3a3 (diff) | |
download | ffmpeg-f1593e4ca564cdb7f3194a9eee1dea16df41142d.tar.gz |
avcodec/tta: Check init_get_bits8() for failure
Fixes: CID1322319
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
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 273938f194..1e2e9c4ef4 100644 --- a/libavcodec/tta.c +++ b/libavcodec/tta.c @@ -123,6 +123,7 @@ static av_cold int tta_decode_init(AVCodecContext * avctx) TTAContext *s = avctx->priv_data; GetBitContext gb; int total_frames; + int ret; s->avctx = avctx; @@ -131,7 +132,10 @@ static av_cold int tta_decode_init(AVCodecContext * avctx) return AVERROR_INVALIDDATA; 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")) { /* signature */ skip_bits_long(&gb, 32); |