Loading... (original) (raw)
gcc warns on s390 and ppcle about negative array overflow at jchuff.c:806.
/priv/d031900/openjdk/jdk-hs/source/src/java.desktop/share/native/libjavajpeg/jchuff.c:808:18: error: array subscript is below array bounds [-Werror=array-bounds]
Adam Farley of IBM provided a fix:
diff --git a/src/java.desktop/share/native/libjavajpeg/jchuff.c b/src/java.desktop/share/native/libjavajpeg/jchuff.c
--- a/src/java.desktop/share/native/libjavajpeg/jchuff.c
+++ b/src/java.desktop/share/native/libjavajpeg/jchuff.c
@@ -805,7 +805,7 @@
for (i = MAX_CLEN; i > 16; i--) {
while (bits[i] > 0) {
j = i - 2; /* find length of new prefix to be used */
- while (bits[j] == 0)
+ while ((bits[j] == 0) && (j > 0))
j--;
bits[i] -= 2; /* remove two symbols */