This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push: new e40bd00bb6 Locking cleanup e40bd00bb6 is described below commit e40bd00bb69a967120417ddaea7aa6f81f382bcd Author: remm <r...@apache.org> AuthorDate: Thu Sep 7 15:20:18 2023 +0200 Locking cleanup Identified by coverity. --- java/org/apache/catalina/realm/MemoryRealm.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/java/org/apache/catalina/realm/MemoryRealm.java b/java/org/apache/catalina/realm/MemoryRealm.java index 30d3e5f037..59d1a60893 100644 --- a/java/org/apache/catalina/realm/MemoryRealm.java +++ b/java/org/apache/catalina/realm/MemoryRealm.java @@ -184,6 +184,7 @@ public class MemoryRealm extends RealmBase { * necessary. */ protected Digester getDigester() { + // Keep locking for subclass compatibility synchronized (digesterLock) { if (digester == null) { digester = new Digester(); @@ -237,16 +238,16 @@ public class MemoryRealm extends RealmBase { log.debug(sm.getString("memoryRealm.loadPath", pathName)); } - Digester digester = getDigester(); - try { - synchronized (digester) { + synchronized (digesterLock) { + Digester digester = getDigester(); + try { digester.push(this); digester.parse(is); + } catch (Exception e) { + throw new LifecycleException(sm.getString("memoryRealm.readXml"), e); + } finally { + digester.reset(); } - } catch (Exception e) { - throw new LifecycleException(sm.getString("memoryRealm.readXml"), e); - } finally { - digester.reset(); } } catch (IOException ioe) { throw new LifecycleException(sm.getString("memoryRealm.loadExist", pathName), ioe); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org