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]