diff options
author | Alex Converse <alex.converse@gmail.com> | 2012-01-11 14:03:57 -0800 |
---|---|---|
committer | Alex Converse <alex.converse@gmail.com> | 2012-01-11 14:40:47 -0800 |
commit | b5fc571e4f730579f328ae9cf77435cb7fddc53d (patch) | |
tree | 8af17e6fa960952f5373413eeb073429851f5400 | |
parent | e7d02b04dcfb65d1873b81bd3281442ac5ddec1d (diff) | |
download | ffmpeg-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.c | 2 |
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); |