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 46eb29380955c75cf27d9cdb757debbb5bc64cd7
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Mon Apr 1 10:32:43 2024 -0400

    Avoid NullPointerException after calling
    
org.apache.bcel.classfile.LocalVariableTypeTable.setLocalVariableTable(LocalVariable[])
    with null
---
 src/changes/changes.xml                                             | 1 +
 src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 03e74af3..be5a862d 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -72,6 +72,7 @@ The <action> type attribute can be add,update,fix,remove.
       <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Avoid possible NullPointerException in 
org.apache.bcel.classfile.ParameterAnnotationEntry.createParameterAnnotationEntries(Attribute[]).</action>
       <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Avoid NullPointerException after calling 
org.apache.bcel.classfile.MethodParameters.setParameters(MethodParameter[]) 
with null.</action>
       <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Avoid NullPointerException after calling 
org.apache.bcel.classfile.ParameterAnnotations.setParameterAnnotationTable(ParameterAnnotationEntry[])
 with null.</action>
+      <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Avoid NullPointerException after calling 
org.apache.bcel.classfile.LocalVariableTypeTable.setLocalVariableTable(LocalVariable[])
 with null.</action>
       <!-- UPDATE -->
       <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump org.apache.commons:commons-parent from 66 to 67 
#283.</action>
       <action                  type="update" dev="ggregory" 
due-to="Dependabot">Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.22 to 
1.9.23 #284.</action>
diff --git 
a/src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java 
b/src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java
index bb8e1f08..8f4e4e8f 100644
--- a/src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java
+++ b/src/main/java/org/apache/bcel/classfile/LocalVariableTypeTable.java
@@ -60,6 +60,8 @@ import org.apache.bcel.util.Args;
  */
 public class LocalVariableTypeTable extends Attribute implements 
Iterable<LocalVariable> {
 
+    private static final LocalVariable[] EMPTY_ARRAY = {};
+
     private LocalVariable[] localVariableTypeTable; // variables
 
     LocalVariableTypeTable(final int nameIdx, final int len, final DataInput 
input, final ConstantPool cpool) throws IOException {
@@ -130,7 +132,7 @@ public class LocalVariableTypeTable extends Attribute 
implements Iterable<LocalV
     }
 
     public final void setLocalVariableTable(final LocalVariable[] 
localVariableTable) {
-        this.localVariableTypeTable = localVariableTable;
+        this.localVariableTypeTable = localVariableTable != null ? 
localVariableTable : EMPTY_ARRAY;
     }
 
     /**

Reply via email to