8015395: NumberFormatException during startup if JDK-internal property java.lang.Integer.IntegerCache.high set to bad value
Fall back to default if a bad value is passed for this property. Reviewed-by: mduigou
This commit is contained in:
parent
857e168f7a
commit
66bcedaa7a
@ -788,10 +788,14 @@ public final class Integer extends Number implements Comparable<Integer> {
|
|||||||
String integerCacheHighPropValue =
|
String integerCacheHighPropValue =
|
||||||
sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high");
|
sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high");
|
||||||
if (integerCacheHighPropValue != null) {
|
if (integerCacheHighPropValue != null) {
|
||||||
|
try {
|
||||||
int i = parseInt(integerCacheHighPropValue);
|
int i = parseInt(integerCacheHighPropValue);
|
||||||
i = Math.max(i, 127);
|
i = Math.max(i, 127);
|
||||||
// Maximum array size is Integer.MAX_VALUE
|
// Maximum array size is Integer.MAX_VALUE
|
||||||
h = Math.min(i, Integer.MAX_VALUE - (-low) -1);
|
h = Math.min(i, Integer.MAX_VALUE - (-low) -1);
|
||||||
|
} catch( NumberFormatException nfe) {
|
||||||
|
// If the property cannot be parsed into an int, ignore it.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
high = h;
|
high = h;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user