RFR 7103957: NegativeArraySizeException while initializing class IntegerCache
Joe Darcy
joe.darcy at oracle.com
Wed Jan 9 20:48:17 UTC 2013
Looks fine; approved.
Cheers,
-Joe
On 1/9/2013 11:58 AM, Brian Burkhalter wrote:
> 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