This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 11.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/11.0.x by this push:
     new 13cd00f58c Map may be accessed concurrently so use ConcurrentMap
13cd00f58c is described below

commit 13cd00f58c24ae804bb658f0dd23015fa6df5f5a
Author: Mark Thomas <[email protected]>
AuthorDate: Wed Sep 17 08:12:30 2025 +0100

    Map may be accessed concurrently so use ConcurrentMap
    
    Fixes a issue reported by Coverity
---
 java/org/apache/catalina/core/StandardContext.java | 19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/java/org/apache/catalina/core/StandardContext.java 
b/java/org/apache/catalina/core/StandardContext.java
index d352d73e6b..e27b638640 100644
--- a/java/org/apache/catalina/core/StandardContext.java
+++ b/java/org/apache/catalina/core/StandardContext.java
@@ -40,6 +40,7 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.locks.Lock;
@@ -425,7 +426,7 @@ public class StandardContext extends ContainerBase 
implements Context, Notificat
     /**
      * The MIME mappings for this web application, keyed by extension.
      */
-    private final Map<String,String> mimeMappings = new HashMap<>();
+    private final ConcurrentMap<String,String> mimeMappings = new 
ConcurrentHashMap<>();
 
 
     /**
@@ -2805,12 +2806,8 @@ public class StandardContext extends ContainerBase 
implements Context, Notificat
 
     @Override
     public void addMimeMapping(String extension, String mimeType) {
-
-        synchronized (mimeMappings) {
-            mimeMappings.put(extension.toLowerCase(Locale.ENGLISH), mimeType);
-        }
+        mimeMappings.put(extension.toLowerCase(Locale.ENGLISH), mimeType);
         fireContainerEvent("addMimeMapping", extension);
-
     }
 
 
@@ -3084,9 +3081,7 @@ public class StandardContext extends ContainerBase 
implements Context, Notificat
 
     @Override
     public String[] findMimeMappings() {
-        synchronized (mimeMappings) {
-            return mimeMappings.keySet().toArray(new String[0]);
-        }
+        return mimeMappings.keySet().toArray(new String[0]);
     }
 
 
@@ -3381,12 +3376,8 @@ public class StandardContext extends ContainerBase 
implements Context, Notificat
 
     @Override
     public void removeMimeMapping(String extension) {
-
-        synchronized (mimeMappings) {
-            mimeMappings.remove(extension);
-        }
+        mimeMappings.remove(extension);
         fireContainerEvent("removeMimeMapping", extension);
-
     }
 
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to