You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2016/07/21 03:55:02 UTC

svn commit: r1753636 - in /commons/proper/dbcp/trunk/src: changes/changes.xml main/java/org/apache/commons/dbcp2/DelegatingConnection.java test/java/org/apache/commons/dbcp2/TestDelegatingConnection.java

Author: ggregory
Date: Thu Jul 21 03:55:02 2016
New Revision: 1753636

URL: http://svn.apache.org/viewvc?rev=1753636&view=rev
Log:
[DBCP-446] NullPointerException thrown when calling ManagedConnection.isClosed().

Modified:
    commons/proper/dbcp/trunk/src/changes/changes.xml
    commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java
    commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestDelegatingConnection.java

Modified: commons/proper/dbcp/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/changes/changes.xml?rev=1753636&r1=1753635&r2=1753636&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/changes/changes.xml (original)
+++ commons/proper/dbcp/trunk/src/changes/changes.xml Thu Jul 21 03:55:02 2016
@@ -67,6 +67,9 @@ The <action> type attribute can be add,u
         enables container-managed pools created from JNDI Resource
         definitions to enable JMX by supplying a valid root JMX name.  
       </action>
+      <action dev="ggregory" type="fix" issue="DBCP-446" due-to="Gary Gregory, feng yang, Euclides M, Phil Steitz">
+        NullPointerException thrown when calling ManagedConnection.isClosed().
+      </action>
       <action dev="psteitz" type="fix" issue="DBCP-444">
         InvalidateConnection can result in closed connection returned by getConnection.
       </action>

Modified: commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java?rev=1753636&r1=1753635&r2=1753636&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java (original)
+++ commons/proper/dbcp/trunk/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java Thu Jul 21 03:55:02 2016
@@ -591,10 +591,9 @@ public class DelegatingConnection<C exte
         }
     }
 
-
     @Override
     public boolean isClosed() throws SQLException {
-        return _closed || _conn.isClosed();
+        return _closed || _conn == null || _conn.isClosed();
     }
 
     protected void checkOpen() throws SQLException {

Modified: commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestDelegatingConnection.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestDelegatingConnection.java?rev=1753636&r1=1753635&r2=1753636&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestDelegatingConnection.java (original)
+++ commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestDelegatingConnection.java Thu Jul 21 03:55:02 2016
@@ -139,4 +139,12 @@ public class TestDelegatingConnection {
         assertTrue(conn.isClosed());
     }
 
+    @Test
+    public void testIsClosedNullDelegate() throws Exception {
+        conn.checkOpen();
+        assertFalse(conn.isClosed());
+        conn.setDelegate(null);
+        assertTrue(conn.isClosed());
+    }
+
 }