diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-01-10 19:29:39 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-01-10 19:31:39 +0100 |
commit | 590863876d1478547640304a31c15809c3618090 (patch) | |
tree | b806b82365000b907ba90529bf4cc70909bd6268 /libavcodec/aacdec_template.c | |
parent | 93ac72a98dff592ffc174cfb36a8975dfbf145ae (diff) | |
download | ffmpeg-590863876d1478547640304a31c15809c3618090.tar.gz |
avcodec/aacdec_template: Check id_map
Fixes index out of bounds error
Fixes: aac_index_out_of_bounds.wmv
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/aacdec_template.c')
-rw-r--r-- | libavcodec/aacdec_template.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c index d819958d95..6bc94c879a 100644 --- a/libavcodec/aacdec_template.c +++ b/libavcodec/aacdec_template.c @@ -451,6 +451,10 @@ static int output_configure(AACContext *ac, int type = layout_map[i][0]; int id = layout_map[i][1]; id_map[type][id] = type_counts[type]++; + if (id_map[type][id] >= MAX_ELEM_ID) { + avpriv_request_sample(ac->avctx, "Remapped id too large\n"); + return AVERROR_PATCHWELCOME; + } } // Try to sniff a reasonable channel order, otherwise output the // channels in the order the PCE declared them. |