Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
#define JPEG2000_MAX_DECLEVELS 32
#define JPEG2000_MAX_RESLEVELS (JPEG2000_MAX_DECLEVELS + 1)
+#define JPEG2000_MAX_PASSES 100
+
// T1 flags
// flags determining significance of neighbor coefficients
#define JPEG2000_T1_SIG_N 0x0001
}
if ((newpasses = getnpasses(s)) < 0)
return newpasses;
+ av_assert2(newpasses > 0);
+ if (cblk->npasses + newpasses >= JPEG2000_MAX_PASSES) {
+ avpriv_request_sample(s->avctx, "Too many passes\n");
+ return AVERROR_PATCHWELCOME;
+ }
if ((llen = getlblockinc(s)) < 0)
return llen;
if (cblk->lblock + llen + av_log2(newpasses) > 16) {