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

commit b00e5e27606388fb99870877e16b6714c5942c20
Author: Gary David Gregory (Code signing key) <[email protected]>
AuthorDate: Mon Nov 21 16:21:52 2022 -0500

    org.apache.bcel.classfile.LocalVariableTypeTable constructors now throw
    ClassFormatException on invalid input
---
 src/changes/changes.xml                                             | 1 +
 src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 238f3320..ff0da0b4 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -105,6 +105,7 @@ The <action> type attribute can be add,update,fix,remove.
       <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">org.apache.bcel.classfile.LineNumber constructors now throw 
ClassFormatException on invalid input.</action>
       <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">org.apache.bcel.classfile.LocalVariable constructors now throw 
ClassFormatException on invalid input.</action>
       <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">org.apache.bcel.classfile.LocalVariableTable constructors now throw 
ClassFormatException on invalid input.</action>
+      <action                  type="fix" dev="ggregory" due-to="Gary 
Gregory">org.apache.bcel.classfile.LocalVariableTypeTable constructors now 
throw ClassFormatException on invalid input.</action>
       <!-- UPDATE -->
       <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Bump spotbugs-maven-plugin from 4.7.2.2 to 4.7.3.0 #167.</action>
       <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump jmh.version from 1.35 to 1.36 #170.</action>
diff --git 
a/src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java 
b/src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java
index 44876696..8a35c6ea 100644
--- a/src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java
+++ b/src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java
@@ -25,6 +25,7 @@ import java.util.Iterator;
 import java.util.stream.Stream;
 
 import org.apache.bcel.Const;
+import org.apache.bcel.util.Args;
 
 // The new table is used when generic types are about...
 
@@ -72,9 +73,10 @@ public class LocalVariableTypeTable extends Attribute 
implements Iterable<LocalV
         }
     }
 
-    public LocalVariableTypeTable(final int nameIndex, final int length, final 
LocalVariable[] localVariableTable, final ConstantPool constantPool) {
+    public LocalVariableTypeTable(final int nameIndex, final int length, final 
LocalVariable[] localVariableTypeTable, final ConstantPool constantPool) {
         super(Const.ATTR_LOCAL_VARIABLE_TYPE_TABLE, nameIndex, length, 
constantPool);
-        this.localVariableTypeTable = localVariableTable;
+        this.localVariableTypeTable = localVariableTypeTable != null ? 
localVariableTypeTable : LocalVariable.EMPTY_ARRAY;
+        Args.requireU2(this.localVariableTypeTable.length, 
"localVariableTypeTable.length");
     }
 
     public LocalVariableTypeTable(final LocalVariableTypeTable c) {

Reply via email to