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 0e1b4721e911df7f1746f4cd4cd17cb3250b5202
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Mon Apr 1 10:52:03 2024 -0400

    Avoid NullPointerException after calling
    org.apache.bcel.classfile.JavaClass.setAttributes(Attribute[])
---
 src/changes/changes.xml                                | 1 +
 src/main/java/org/apache/bcel/classfile/JavaClass.java | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 5e68da6d..24803f80 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -79,6 +79,7 @@ The <action> type attribute can be add,update,fix,remove.
       <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Avoid NullPointerException after calling 
org.apache.bcel.classfile.JavaClass.setInterfaces(int[]).</action>
       <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Avoid NullPointerException after calling 
org.apache.bcel.classfile.JavaClass.setInterfaceNames(String[]).</action>
       <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Avoid NullPointerException after calling 
org.apache.bcel.classfile.JavaClass.setFields(Field[]).</action>
+      <action                  type="update" dev="ggregory" due-to="Gary 
Gregory">Avoid NullPointerException after calling 
org.apache.bcel.classfile.JavaClass.setAttributes(Attribute[]).</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/JavaClass.java 
b/src/main/java/org/apache/bcel/classfile/JavaClass.java
index ec54167a..de4ac4b1 100644
--- a/src/main/java/org/apache/bcel/classfile/JavaClass.java
+++ b/src/main/java/org/apache/bcel/classfile/JavaClass.java
@@ -749,7 +749,7 @@ public class JavaClass extends AccessFlags implements 
Cloneable, Node, Comparabl
      * @param attributes .
      */
     public void setAttributes(final Attribute[] attributes) {
-        this.attributes = attributes;
+        this.attributes = attributes != null ? attributes : 
Attribute.EMPTY_ARRAY;
     }
 
     /**
@@ -777,7 +777,7 @@ public class JavaClass extends AccessFlags implements 
Cloneable, Node, Comparabl
      * @param fields .
      */
     public void setFields(final Field[] fields) {
-        this.fields = fields;
+        this.fields = fields != null ? fields : Field.EMPTY_ARRAY;
     }
 
     /**
@@ -791,7 +791,7 @@ public class JavaClass extends AccessFlags implements 
Cloneable, Node, Comparabl
      * @param interfaceNames .
      */
     public void setInterfaceNames(final String[] interfaceNames) {
-        this.interfaceNames = interfaceNames;
+        this.interfaceNames = ArrayUtils.nullToEmpty(interfaceNames);
     }
 
     /**

Reply via email to