You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2007/06/14 18:35:17 UTC

svn commit: r547299 - in /harmony/enhanced/classlib/trunk/modules/luni/src: main/java/java/util/BitSet.java test/java/tests/api/java/util/BitSetTest.java

Author: tellison
Date: Thu Jun 14 09:35:16 2007
New Revision: 547299

URL: http://svn.apache.org/viewvc?view=rev&rev=547299
Log:
Apply patch HARMONY-4147 ([classlib][luni] java.util.BitSet(Integer.MAX_VALUE) throws unexpected NegativeArraySizeException)

Modified:
    harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/BitSet.java
    harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/BitSetTest.java

Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/BitSet.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/BitSet.java?view=diff&rev=547299&r1=547298&r2=547299
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/BitSet.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/BitSet.java Thu Jun 14 09:35:16 2007
@@ -100,7 +100,7 @@
         if (nbits < 0) {
             throw new NegativeArraySizeException();
         }
-        bits = new long[(nbits + ELM_SIZE - 1) >> OFFSET];
+        bits = new long[(nbits >> OFFSET) + ((nbits & RIGHT_BITS) > 0 ? 1 : 0)];
         actualArrayLength = 0;
         isLengthActual = true;
     }

Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/BitSetTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/BitSetTest.java?view=diff&rev=547299&r1=547298&r2=547299
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/BitSetTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/BitSetTest.java Thu Jun 14 09:35:16 2007
@@ -62,6 +62,9 @@
 		} catch (NegativeArraySizeException e) {
 			// Correct behaviour
 		}
+
+        // Regression test for HARMONY-4147
+        new BitSet(Integer.MAX_VALUE);
 	}
 
 	/**