Author: markt Date: Thu Oct 20 19:57:15 2011 New Revision: 1187027 URL: http://svn.apache.org/viewvc?rev=1187027&view=rev Log: Thread safety
Modified: tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java Modified: tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java?rev=1187027&r1=1187026&r2=1187027&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java Thu Oct 20 19:57:15 2011 @@ -80,13 +80,13 @@ public abstract class RequestFilterValve /** * The regular expression used to test for allowed requests. */ - protected Pattern allow = null; + protected volatile Pattern allow = null; /** * The regular expression used to test for denied requests. */ - protected Pattern deny = null; + protected volatile Pattern deny = null; // ------------------------------------------------------------- Properties @@ -97,6 +97,8 @@ public abstract class RequestFilterValve * Valve, if any; otherwise, return <code>null</code>. */ public String getAllow() { + // Use local copies for thread safety + Pattern allow = this.allow; if (allow == null) { return null; } @@ -124,6 +126,8 @@ public abstract class RequestFilterValve * Valve, if any; otherwise, return <code>null</code>. */ public String getDeny() { + // Use local copies for thread safety + Pattern deny = this.deny; if (deny == null) { return null; } @@ -195,6 +199,10 @@ public abstract class RequestFilterValve Request request, Response response) throws IOException, ServletException { + // Use local copies for thread safety + Pattern deny = this.deny; + Pattern allow = this.allow; + // Check the deny patterns, if any if (deny != null && deny.matcher(property).matches()) { response.sendError(HttpServletResponse.SC_FORBIDDEN); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org