summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-06-06 02:19:24 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-06-06 02:26:22 +0200
commitc59ce1c98e5fdcd3d00fa4980ec8516eb9cad2c4 (patch)
tree609e7bf5131337c4e41d9586a6d54b0b544e4bc9 /libavcodec
parentb28851a1d688f2c650977ea73c1d775417a0bd0e (diff)
get_qcc: Check compno
Fixes out of array accesses Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/jpeg2000dec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index e8e95a176e..c4b63ef8bf 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -425,6 +425,11 @@ static int get_qcc(Jpeg2000DecoderContext *s, int n, Jpeg2000QuantStyle *q,
return AVERROR(EINVAL);
compno = bytestream2_get_byteu(&s->g);
+ if (compno >= s->ncomponents) {
+ av_log(s->avctx, AV_LOG_ERROR, "Invalid compno\n");
+ return AVERROR_INVALIDDATA;
+ }
+
properties[compno] |= HAD_QCC;
return get_qcx(s, n - 1, q + compno);
}