Update internal fork of Commons BCEL to 6.9.0
diff --git a/MERGE.txt b/MERGE.txt
index a4c1550..e64865b 100644
--- a/MERGE.txt
+++ b/MERGE.txt
@@ -37,7 +37,7 @@
 Sub-tree:
 src/main/java/org/apache/bcel
 The SHA1 ID / tag for the most recent commit to be merged to Tomcat is:
-rel/commons-bcel-6.8.2 (2024-02-25)
+rel/commons-bcel-6.9.0 (2024-04-27)
 
 FileUpload
 ----------
diff --git a/java/org/apache/tomcat/util/bcel/classfile/ArrayElementValue.java b/java/org/apache/tomcat/util/bcel/classfile/ArrayElementValue.java
index 48a3644..69a85b2 100644
--- a/java/org/apache/tomcat/util/bcel/classfile/ArrayElementValue.java
+++ b/java/org/apache/tomcat/util/bcel/classfile/ArrayElementValue.java
@@ -21,12 +21,12 @@
     // For array types, this is the array
     private final ElementValue[] elementValues;
 
-    ArrayElementValue(final int type, final ElementValue[] datums, final ConstantPool cpool) {
+    ArrayElementValue(final int type, final ElementValue[] elementValues, final ConstantPool cpool) {
         super(type, cpool);
         if (type != ARRAY) {
             throw new ClassFormatException("Only element values of type array can be built with this ctor - type specified: " + type);
         }
-        this.elementValues = datums;
+        this.elementValues = elementValues != null ? elementValues : ElementValue.EMPTY_ARRAY;
     }
 
     public ElementValue[] getElementValuesArray() {
diff --git a/java/org/apache/tomcat/util/bcel/classfile/ElementValue.java b/java/org/apache/tomcat/util/bcel/classfile/ElementValue.java
index 8c68b3f..3894f60 100644
--- a/java/org/apache/tomcat/util/bcel/classfile/ElementValue.java
+++ b/java/org/apache/tomcat/util/bcel/classfile/ElementValue.java
@@ -60,6 +60,7 @@
     public static final byte PRIMITIVE_LONG = 'J';
     public static final byte PRIMITIVE_SHORT = 'S';
     public static final byte PRIMITIVE_BOOLEAN = 'Z';
+    static final ElementValue[] EMPTY_ARRAY = {};
 
     /**
      * Reads an {@code element_value} as an {@code ElementValue}.
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 5e3a82c..e53f099 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -232,6 +232,9 @@
       <update>
         Update SpotBugs to 4.8.4. (markt)
       </update>
+      <update>
+        Update the internal fork of Apache Commons BCEL to 6.9.0. (markt)
+      </update>
     </changelog>
   </subsection>
 </section>