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

commit 8f96e89f6e50d0cc2b3043d9add727d021cf0150
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Mon Oct 10 09:46:55 2022 -0400

    Fail-fast on null input for
    DefaultPooledObjectInfo.DefaultPooledObjectInfo(PooledObject) with a
    NullPointerException.
---
 src/changes/changes.xml                                               | 3 +++
 .../java/org/apache/commons/pool2/impl/DefaultPooledObjectInfo.java   | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1367934f..4ab8a73a 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -67,6 +67,9 @@ The <action> type attribute can be add,update,fix,remove.
     <action dev="ggregory" type="fix" due-to="Zhenyu Luo, Gary Gregory" 
issue="POOL-408">
       A typo of KeyedPooledObjectFactory on the site and Javadoc.
     </action>
+    <action dev="ggregory" type="fix" due-to="Gary Gregory">
+      Fail-fast on null input for 
DefaultPooledObjectInfo.DefaultPooledObjectInfo(PooledObject) with a 
NullPointerException.
+    </action>       
     <!-- ADD -->
     <action dev="ggregory" type="add" due-to="Gary Gregory">
       Add PooledObject.getFullDuration().
diff --git 
a/src/main/java/org/apache/commons/pool2/impl/DefaultPooledObjectInfo.java 
b/src/main/java/org/apache/commons/pool2/impl/DefaultPooledObjectInfo.java
index c284e931..4c06ddfe 100644
--- a/src/main/java/org/apache/commons/pool2/impl/DefaultPooledObjectInfo.java
+++ b/src/main/java/org/apache/commons/pool2/impl/DefaultPooledObjectInfo.java
@@ -19,6 +19,7 @@ package org.apache.commons.pool2.impl;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.text.SimpleDateFormat;
+import java.util.Objects;
 
 import org.apache.commons.pool2.PooledObject;
 
@@ -38,9 +39,10 @@ public class DefaultPooledObjectInfo implements 
DefaultPooledObjectInfoMBean {
      * Constructs a new instance for the given pooled object.
      *
      * @param pooledObject The pooled object that this instance will represent
+     * @throws NullPointerException if {@code obj} is {@code null}
      */
     public DefaultPooledObjectInfo(final PooledObject<?> pooledObject) {
-        this.pooledObject = pooledObject;
+        this.pooledObject = Objects.requireNonNull(pooledObject, 
"pooledObject");
     }
 
     @Override

Reply via email to