You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/11/22 12:59:16 UTC
[commons-bcel] branch master updated: Replace magic number with Const.MAX_ARRAY_DIMENSIONS
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-bcel.git
The following commit(s) were added to refs/heads/master by this push:
new 35f3d786 Replace magic number with Const.MAX_ARRAY_DIMENSIONS
35f3d786 is described below
commit 35f3d7860e5ce7fd6882e67f5778f9bdc2e036f2
Author: Gary David Gregory (Code signing key) <gg...@apache.org>
AuthorDate: Tue Nov 22 07:59:05 2022 -0500
Replace magic number with Const.MAX_ARRAY_DIMENSIONS
---
src/main/java/org/apache/bcel/classfile/ElementValue.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/bcel/classfile/ElementValue.java b/src/main/java/org/apache/bcel/classfile/ElementValue.java
index 91c4c159..41a302c4 100644
--- a/src/main/java/org/apache/bcel/classfile/ElementValue.java
+++ b/src/main/java/org/apache/bcel/classfile/ElementValue.java
@@ -21,6 +21,8 @@ import java.io.DataInput;
import java.io.DataOutputStream;
import java.io.IOException;
+import org.apache.bcel.Const;
+
/**
* @since 6.0
*/
@@ -44,6 +46,9 @@ public abstract class ElementValue {
return readElementValue(input, cpool, 0);
}
+ /**
+ * @since 6.7.0
+ */
public static ElementValue readElementValue(final DataInput input, final ConstantPool cpool, int arrayNesting)
throws IOException {
final byte type = input.readByte();
@@ -71,9 +76,9 @@ public abstract class ElementValue {
case ARRAY:
arrayNesting++;
- if (arrayNesting > 255) {
+ if (arrayNesting > Const.MAX_ARRAY_DIMENSIONS) {
// JVM spec 4.4.1
- throw new ClassFormatException("Arrays are only valid if they represent 255 or fewer dimensions.");
+ throw new ClassFormatException(String.format("Arrays are only valid if they represent %,d or fewer dimensions.", Const.MAX_ARRAY_DIMENSIONS));
}
final int numArrayVals = input.readUnsignedShort();
final ElementValue[] evalues = new ElementValue[numArrayVals];