aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2012-01-11 14:03:57 -0800
committerAlex Converse <alex.converse@gmail.com>2012-01-11 14:40:47 -0800
commitb5fc571e4f730579f328ae9cf77435cb7fddc53d (patch)
tree8af17e6fa960952f5373413eeb073429851f5400
parente7d02b04dcfb65d1873b81bd3281442ac5ddec1d (diff)
downloadffmpeg-b5fc571e4f730579f328ae9cf77435cb7fddc53d.tar.gz
latmdec: Check AudioSpecificConfig length before decoding extradata.
This is different than a normal get_bits() over read because decode_audio_specific_config() creates its own GetBitContext. Fixes Bug 170.
-rw-r--r--libavcodec/aacdec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index b2fc740d4d..ca1a876436 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -2363,6 +2363,8 @@ static int latm_decode_audio_specific_config(struct LATMContext *latmctx,
"config not byte aligned.\n", 1);
return AVERROR_INVALIDDATA;
}
+ if (asclen <= 0)
+ return AVERROR_INVALIDDATA;
bits_consumed = decode_audio_specific_config(NULL, avctx, &m4ac,
gb->buffer + (config_start_bit / 8),
asclen, sync_extension);