RFR 7103957: NegativeArraySizeException while initializing class IntegerCache
Brian Burkhalter
brian.burkhalter at oracle.com
Wed Jan 9 19:58:27 UTC 2013
Please review at your convenience.
Issue
https://jbs.oracle.com/bugs/browse/JDK-7103957
The problem and suggested fix provided in the issue description are accurate: the array is one element too large.
Diff
--- a/src/share/classes/java/lang/Integer.java Tue Nov 13 20:02:39 2012 -0800
+++ b/src/share/classes/java/lang/Integer.java Wed Jan 09 11:45:28 2013 -0800
@@ -772,7 +772,7 @@
int i = parseInt(integerCacheHighPropValue);
i = Math.max(i, 127);
// Maximum array size is Integer.MAX_VALUE
- h = Math.min(i, Integer.MAX_VALUE - (-low));
+ h = Math.min(i, Integer.MAX_VALUE - (-low) - 1);
}
high = h;
Testing
All java/lang tests passed on default array of platforms.
Thanks,
Brian
More information about the core-libs-dev
mailing list