From 71b4f5b124d14ed609763b11e19d2d480bc32f58 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Sat, 29 Jul 2017 15:52:11 +0200 Subject: [PATCH] opj_pi_next_pcrl(): avoid undefined shift behaviour. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2787. Credit to OSS Fuzz --- src/lib/openjp2/pi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/openjp2/pi.c b/src/lib/openjp2/pi.c index 4e2e48ad..c256349b 100644 --- a/src/lib/openjp2/pi.c +++ b/src/lib/openjp2/pi.c @@ -526,7 +526,8 @@ static OPJ_BOOL opj_pi_next_pcrl(opj_pi_iterator_t * pi) /* Avoids division by zero */ /* Relates to id_000004,sig_06,src_000679,op_arith8,pos_49,val_-17 */ /* of https://github.com/uclouvain/openjpeg/issues/938 */ - if (((comp->dx << levelno) >> levelno) != comp->dx || + if (levelno >= 32 || + ((comp->dx << levelno) >> levelno) != comp->dx || ((comp->dy << levelno) >> levelno) != comp->dy) { continue; } -- 2.30.2