blob: 9ad27ae93046d7d350a02a9b70b89746dbfa5c11 [file] [log] [blame]
commit 1462e9403fb7d1186e999701dfe72980262a089c
Author: Even Rouault <even.rouault@spatialys.com>
Date: Thu Feb 10 14:30:13 2022 +0100
Avoid integer overflows in DWT. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44544
diff --git a/src/lib/openjp2/dwt.c b/src/lib/openjp2/dwt.c
index 2b9b9e92..abc500ec 100644
--- a/src/lib/openjp2/dwt.c
+++ b/src/lib/openjp2/dwt.c
@@ -801,7 +801,8 @@ static void opj_idwt3_v_cas0(OPJ_INT32* tmp,
opj_int_add_no_overflow(opj_int_add_no_overflow(d1c, d1n), 2) >> 2);
tmp[i ] = s0c;
- tmp[i + 1] = d1c + ((s0c + s0n) >> 1);
+ tmp[i + 1] = opj_int_add_no_overflow(d1c, opj_int_add_no_overflow(s0c,
+ s0n) >> 1);
}
tmp[i] = s0n;