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

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


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

commit bc02ca6fabaff6327e5a93f71112c87bd80726ad
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 1ac1bc9028..eeba59f416 100644
--- a/java/org/apache/catalina/core/StandardContext.java
+++ b/java/org/apache/catalina/core/StandardContext.java
@@ -41,6 +41,7 @@ import java.util.Map.Entry;
 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;
@@ -423,7 +424,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<>();
 
 
     /**
@@ -2773,12 +2774,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]);
     }
 
 
@@ -3424,12 +3419,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