From: fhanik Date: Thu, 31 Mar 2011 21:20:30 +0000 (+0000) Subject: Fix NPE that can happen during concurrency (connection being abandoned, misconfigurat... X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=e75837bf0fb9abd1d3d16e4589a7af608cb08e67;p=tomcat7.0 Fix NPE that can happen during concurrency (connection being abandoned, misconfiguration in abandon timeout or lack of ResetAbandonedTimer interceptor) http://markmail.org/message/yhshyvyunddb5ngt git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1087442 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java index 532cb6a24..76d17e341 100644 --- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java +++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java @@ -122,7 +122,12 @@ public class ProxyConnection extends JdbcInterceptor { return this.isWrapperFor((Class)args[0]); } try { - return method.invoke(connection.getConnection(),args); + PooledConnection poolc = connection; + if (poolc!=null) { + return method.invoke(poolc.getConnection(),args); + } else { + throw new SQLException("Connection has already been closed."); + } }catch (Throwable t) { if (t instanceof InvocationTargetException) { InvocationTargetException it = (InvocationTargetException)t;