Code review request for 6371401: java.math.BigInteger.shift(Integer.MIN_VALUE) throws StackOverflowError (original) (raw)

Joseph D. Darcy Joe.Darcy at Sun.COM
Tue Oct 20 00:42:26 UTC 2009


Hello.

Please review this simple improvement in handling an exceptional condition in BigInteger. A stack overflow on an argument of BigInteger.shitf{Left, Right}(Integer.MIN_VALUE) is handled as an explicit ArithmeticException, the same exception used throughout BigInteger for other invalid inputs.

Patch below; webrev at http://cr.openjdk.java.net/~darcy/6371401.0/

Thanks,

-Joe

--- old/src/share/classes/java/math/BigInteger.java 2009-10-19 17:37:36.000000000 -0700 +++ new/src/share/classes/java/math/BigInteger.java 2009-10-19 17:37:35.000000000 -0700 @@ -2051,6 +2051,8 @@ * * @param n shift distance, in bits. * @return {@code this << n}

Integer.MIN_VALUE not supported.");

@@ -2097,13 +2104,20 @@ * * @param n shift distance, in bits. * @return {@code this >> n}

Integer.MIN_VALUE not supported.");

--- /dev/null 2009-07-06 20:02:10.000000000 -0700 +++ new/test/java/math/BigInteger/ExtremeShiftingTests.java
2009-10-19 17:37:36.000000000 -0700 @@ -0,0 +1,49 @@ +/*

+}



More information about the core-libs-dev mailing list