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-codec.git

commit d2215d5dec3031f819c3bb514587d92a6aec8eff
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Apr 20 13:46:13 2024 -0400

    Base32 constructor fails-fast with a NullPointerException if the custom
    alphabet array is null
---
 src/changes/changes.xml                                   | 1 +
 src/main/java/org/apache/commons/codec/binary/Base32.java | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 01ee6076..c1e7f5e6 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -49,6 +49,7 @@ The <action> type attribute can be add,update,fix,remove.
       <action type="fix" dev="ggregory" due-to="Gary Gregory">Optimize memory 
allocation in PhoneticEngine.</action>
       <action type="fix" dev="ggregory" due-to="Gary Gregory">BCodec and 
QCodec encode() methods throw UnsupportedCharsetException instead of 
EncoderException.</action>
       <action type="fix" dev="ggregory" due-to="Gary Gregory">Set Javadoc link 
to latest Java API LTS version.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Base32 
constructor fails-fast with a NullPointerException if the custom alphabet array 
is null.</action>
       <action type="fix" dev="ggregory" due-to="Gary Gregory">Base32 
constructor makes a defensive copy of the line separator array.</action>
       <action type="fix" dev="ggregory" due-to="Gary Gregory">Base64 
constructor makes a defensive copy of the line separator array.</action>
       <action type="fix" dev="ggregory" due-to="Gary Gregory">Base64 
constructor makes a defensive copy of a custom alphabet array.</action>
diff --git a/src/main/java/org/apache/commons/codec/binary/Base32.java 
b/src/main/java/org/apache/commons/codec/binary/Base32.java
index ebbb57e3..ad39da40 100644
--- a/src/main/java/org/apache/commons/codec/binary/Base32.java
+++ b/src/main/java/org/apache/commons/codec/binary/Base32.java
@@ -17,6 +17,8 @@
 
 package org.apache.commons.codec.binary;
 
+import java.util.Objects;
+
 import org.apache.commons.codec.CodecPolicy;
 
 /**
@@ -353,6 +355,7 @@ public class Base32 extends BaseNCodec {
      */
     private Base32(final int lineLength, final byte[] lineSeparator, final 
byte[] encodeTable, final byte padding, final CodecPolicy decodingPolicy) {
         super(BYTES_PER_UNENCODED_BLOCK, BYTES_PER_ENCODED_BLOCK, lineLength, 
toLength(lineSeparator), padding, decodingPolicy);
+        Objects.requireNonNull(encodeTable, "encodeTable");
         this.encodeTable = encodeTable;
         this.decodeTable = encodeTable == HEX_ENCODE_TABLE ? HEX_DECODE_TABLE 
: DECODE_TABLE;
         if (lineLength > 0) {

Reply via email to