-
CSR
-
Resolution: Approved
-
P4
-
None
-
minimal
-
Minor update to the javadoc for AIOOBE in four classes for documenting existing behavior.
-
Java API
-
SE
Summary
AIOOBE needs to be documented in four javax.crypto.spec classes.
Problem
javadoc out of sync with code regarding AIOOBE.
Solution
Document AIOOBE in IvParameterSpec, RC2ParameterSpec, RC5ParameterSpec, and SecretKeySpec.
Minor clarification needed for RC2ParameterSpec for IllegalArgumentException.
Specification
a/src/java.base/share/classes/javax/crypto/spec/IvParameterSpec.java b/src/java.base/share/classes/javax/crypto/spec/IvParameterSpec.java
index 6d7fa142c68..a1c7102e8a4 100644
--- a/src/java.base/share/classes/javax/crypto/spec/IvParameterSpec.java
+++ b/src/java.base/share/classes/javax/crypto/spec/IvParameterSpec.java
@@ -47,30 +47,30 @@ public class IvParameterSpec implements AlgorithmParameterSpec {
- * @throws ArrayIndexOutOfBoundsException is thrown if <code>offset</code>
- * or <code>len</code> index bytes outside the <code>iv</code>.
+ * @throws ArrayIndexOutOfBoundsException if {@code offset}
+ * or {@code len} are negative.
*/
public IvParameterSpec(byte[] iv, int offset, int len) {
if (iv == null) {
a/src/java.base/share/classes/javax/crypto/spec/RC2ParameterSpec.java b/src/java.base/share/classes/javax/crypto/spec/RC2ParameterSpec.java
index 3c2e5a57da6..cb89aa17565 100644
--- a/src/java.base/share/classes/javax/crypto/spec/RC2ParameterSpec.java
+++ b/src/java.base/share/classes/javax/crypto/spec/RC2ParameterSpec.java
@@ -91,7 +91,10 @@ public RC2ParameterSpec(int effectiveKeyBits, byte[] iv) {
* @param offset the offset in {@code iv} where the 8-byte IV
* starts.
- * @exception IllegalArgumentException if {@code iv} is null.
+ * @exception IllegalArgumentException if {@code iv} is {@code null}
+ * or {@code iv.length - offset < 8}.
+ * @exception ArrayIndexOutOfBoundsException if
+ * {@code offset} is negative.
*/
public RC2ParameterSpec(int effectiveKeyBits, byte[] iv, int offset) {
this.effectiveKeyBits = effectiveKeyBits;
a/src/java.base/share/classes/javax/crypto/spec/RC5ParameterSpec.java b/src/java.base/share/classes/javax/crypto/spec/RC5ParameterSpec.java
index 86d128afbf8..644433f3373 100644
--- a/src/java.base/share/classes/javax/crypto/spec/RC5ParameterSpec.java
+++ b/src/java.base/share/classes/javax/crypto/spec/RC5ParameterSpec.java
@@ -106,9 +106,9 @@ public RC5ParameterSpec(int version, int rounds, int wordSize, byte[] iv) {
* @param offset the offset in {@code iv} where the IV starts.
+ * @exception ArrayIndexOutOfBoundsException if {@code offset} is negative.
*/
public RC5ParameterSpec(int version, int rounds, int wordSize,
byte[] iv, int offset) {
a/src/java.base/share/classes/javax/crypto/spec/SecretKeySpec.java b/src/java.base/share/classes/javax/crypto/spec/SecretKeySpec.java
index e51b1471a8c..b8b4ddb8acf 100644
--- a/src/java.base/share/classes/javax/crypto/spec/SecretKeySpec.java
+++ b/src/java.base/share/classes/javax/crypto/spec/SecretKeySpec.java
@@ -142,12 +142,11 @@ public SecretKeySpec(byte[] key, String algorithm) {
* i.e. {@code key.length-offset<len}.
- * @exception ArrayIndexOutOfBoundsException is thrown if
- * <code>offset</code> or <code>len</code> index bytes outside the
- * <code>key</code>.
+ * @exception ArrayIndexOutOfBoundsException if
+ * {@code offset} or {@code len} are negative.
*
* @spec security/standard-names.html Java Security Standard Algorithm Names
*/
- csr of
-
JDK-8267068 Incomplete @throws javadoc for various javax.crypto.spec classes
-
- Resolved
-