aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-09-04 01:18:13 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-09-04 01:28:25 +0200
commitf1593e4ca564cdb7f3194a9eee1dea16df41142d (patch)
treeb04342d6412068b5f14c0ec0d0787db5606ba3a9
parentcbd3cd8eb2de2280d83da5ee875c35581b46a3a3 (diff)
downloadffmpeg-f1593e4ca564cdb7f3194a9eee1dea16df41142d.tar.gz
avcodec/tta: Check init_get_bits8() for failure
Fixes: CID1322319 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/tta.c6
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);