mirror of https://git.ffmpeg.org/ffmpeg.git
jpeg2000: Check zero bit-plane validity
Prevent integer overflows. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
parent
7e201d575d
commit
17e5d614a8
|
@ -652,10 +652,16 @@ static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s,
|
||||||
else if (incl < 0)
|
else if (incl < 0)
|
||||||
return incl;
|
return incl;
|
||||||
|
|
||||||
if (!cblk->npasses)
|
if (!cblk->npasses) {
|
||||||
cblk->nonzerobits = expn[bandno] + numgbits - 1 -
|
int v = expn[bandno] + numgbits - 1 -
|
||||||
tag_tree_decode(s, prec->zerobits + cblkno,
|
tag_tree_decode(s, prec->zerobits + cblkno, 100);
|
||||||
100);
|
if (v < 0) {
|
||||||
|
av_log(s->avctx, AV_LOG_ERROR,
|
||||||
|
"nonzerobits %d invalid\n", v);
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
cblk->nonzerobits = v;
|
||||||
|
}
|
||||||
if ((newpasses = getnpasses(s)) < 0)
|
if ((newpasses = getnpasses(s)) < 0)
|
||||||
return newpasses;
|
return newpasses;
|
||||||
if ((llen = getlblockinc(s)) < 0)
|
if ((llen = getlblockinc(s)) < 0)
|
||||||
|
|
Loading…
Reference in New Issue