aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/aacdec_template.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-01-10 19:29:39 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-01-10 19:31:39 +0100
commit590863876d1478547640304a31c15809c3618090 (patch)
treeb806b82365000b907ba90529bf4cc70909bd6268 /libavcodec/aacdec_template.c
parent93ac72a98dff592ffc174cfb36a8975dfbf145ae (diff)
downloadffmpeg-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.c4
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.