Author: markt Date: Mon Feb 26 22:20:04 2018 New Revision: 1825421 URL: http://svn.apache.org/viewvc?rev=1825421&view=rev Log: SpotBugs Fix some concurrency related concerns.
Modified: tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java Modified: tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java?rev=1825421&r1=1825420&r2=1825421&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java (original) +++ tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java Mon Feb 26 22:20:04 2018 @@ -164,7 +164,7 @@ public class JAASRealm extends RealmBase */ protected String configFile; - protected Configuration jaasConfiguration; + protected volatile Configuration jaasConfiguration; protected volatile boolean jaasConfigurationLoaded = false; @@ -606,6 +606,8 @@ public class JAASRealm extends RealmBase * @return the loaded configuration */ protected Configuration getConfig() { + // Local copy to avoid possible NPE due to concurrent change + String configFile = this.configFile; try { if (jaasConfigurationLoaded) { return jaasConfiguration; @@ -615,8 +617,7 @@ public class JAASRealm extends RealmBase jaasConfigurationLoaded = true; return null; } - URL resource = Thread.currentThread().getContextClassLoader(). - getResource(configFile); + URL resource = Thread.currentThread().getContextClassLoader().getResource(configFile); URI uri = resource.toURI(); @SuppressWarnings("unchecked") Class<Configuration> sunConfigFile = (Class<Configuration>) Modified: tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java?rev=1825421&r1=1825420&r2=1825421&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java (original) +++ tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java Mon Feb 26 22:20:04 2018 @@ -88,7 +88,7 @@ public class LockOutRealm extends Combin * that prevents this component from being used */ @Override - protected void startInternal() throws LifecycleException { + protected synchronized void startInternal() throws LifecycleException { // Configure the list of failed users to delete the oldest entry once it // exceeds the specified size failedUsers = new LinkedHashMap<String, LockRecord>(cacheSize, 0.75f, --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org