You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ml...@apache.org on 2006/08/15 14:14:04 UTC
svn commit: r431580 - in
/incubator/harmony/enhanced/classlib/trunk/modules/crypto/src:
main/java/javax/crypto/spec/IvParameterSpec.java
test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/IvParameterSpecTest.java
Author: mloenko
Date: Tue Aug 15 05:14:03 2006
New Revision: 431580
URL: http://svn.apache.org/viewvc?rev=431580&view=rev
Log:
applied patch for HARMONY-1089
[classlib][crypto] unexpected NegativeArraySizeException for javax.crypto.spec.IvParameterSpec(byte[], int, -1);
Modified:
incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/main/java/javax/crypto/spec/IvParameterSpec.java
incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/IvParameterSpecTest.java
Modified: incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/main/java/javax/crypto/spec/IvParameterSpec.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/main/java/javax/crypto/spec/IvParameterSpec.java?rev=431580&r1=431579&r2=431580&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/main/java/javax/crypto/spec/IvParameterSpec.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/main/java/javax/crypto/spec/IvParameterSpec.java Tue Aug 15 05:14:03 2006
@@ -46,7 +46,10 @@
public IvParameterSpec(byte[] iv, int offset, int len) {
if ((iv == null) || (iv.length - offset < len)) {
throw new IllegalArgumentException(
- "iv is null or (iv.length - offset < len).");
+ "iv is null or (iv.length - offset < len)");
+ }
+ if (offset < 0 || len < 0) {
+ throw new ArrayIndexOutOfBoundsException("offset < 0 or len < 0");
}
this.iv = new byte[len];
System.arraycopy(iv, offset, this.iv, 0, len);
Modified: incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/IvParameterSpecTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/IvParameterSpecTest.java?rev=431580&r1=431579&r2=431580&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/IvParameterSpecTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/crypto/src/test/api/java/org/apache/harmony/crypto/tests/javax/crypto/spec/IvParameterSpecTest.java Tue Aug 15 05:14:03 2006
@@ -113,6 +113,14 @@
iv[0] ++;
assertFalse("The change of input array's content should not cause "
+ "the change of internal array", iv[0] == ivps.getIV()[0]);
+
+ //Regression for HARMONY-1089
+ try {
+ new IvParameterSpec(new byte[2], 2, -1);
+ fail("ArrayIndexOutOfBoundsException expected");
+ } catch (ArrayIndexOutOfBoundsException e) {
+ //expected
+ }
}
public void testGetIV() {