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


The following commit(s) were added to refs/heads/master by this push:
     new b137fda  Avoid NPE when calling DriverAdapterCPDS.toString() (#31)
b137fda is described below

commit b137fda65be70c4431a7a09ca379e40a300760e1
Author: Sergey Chupov <scad...@live.com>
AuthorDate: Thu May 9 03:32:55 2019 +0300

    Avoid NPE when calling DriverAdapterCPDS.toString() (#31)
    
    * Add test for DriverAdapterCPDS.toString()
    
    It currently fails when connectionProperties are null
    
    * Do not access connectionProperties when it's null
---
 .../apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java  |  2 +-
 .../commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java     | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java 
b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
index a1f7e41..e80d69c 100644
--- a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
+++ b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java
@@ -765,7 +765,7 @@ public class DriverAdapterCPDS implements 
ConnectionPoolDataSource, Referenceabl
         builder.append(", connectionProperties=");
         Properties tmpProps = connectionProperties;
         final String pwdKey = "password";
-        if (connectionProperties.contains(pwdKey)) {
+        if (connectionProperties != null && 
connectionProperties.contains(pwdKey)) {
             tmpProps = (Properties) connectionProperties.clone();
             tmpProps.remove(pwdKey);
         }
diff --git 
a/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java 
b/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
index 35d12c7..ab0a4dd 100644
--- 
a/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
+++ 
b/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
@@ -367,4 +367,16 @@ public class TestDriverAdapterCPDS {
         final Object o = pcds.getObjectInstance(ref, null, null, null);
         assertEquals(pcds.getDescription(), ((DriverAdapterCPDS) 
o).getDescription());
     }
+    
+    @Test
+    public void testToStringWithoutConnectionProperties() throws 
ClassNotFoundException
+    {
+        final DriverAdapterCPDS cleanCpds = new DriverAdapterCPDS();
+        cleanCpds.setDriver( "org.apache.commons.dbcp2.TesterDriver" );
+        cleanCpds.setUrl( "jdbc:apache:commons:testdriver" );
+        cleanCpds.setUser( "foo" );
+        cleanCpds.setPassword( "bar" );
+
+        cleanCpds.toString();
+    }
 }

Reply via email to