Author: markt Date: Mon Jun 26 13:33:47 2017 New Revision: 1799916 URL: http://svn.apache.org/viewvc?rev=1799916&view=rev Log: Avoid NPE during non-container thread error handling
Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1799916&r1=1799915&r2=1799916&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Mon Jun 26 13:33:47 2017 @@ -407,6 +407,10 @@ public class AsyncContextImpl implements if (result.get()) { // No listener called dispatch() or complete(). This is an error. // SRV.2.3.3.3 (search for "error dispatch") + // Take a local copy to avoid threading issues if another thread + // clears this (can happen during error handling with non-container + // threads) + ServletResponse servletResponse = this.servletResponse; if (servletResponse instanceof HttpServletResponse) { ((HttpServletResponse) servletResponse).setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org