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

kwin pushed a commit to branch 
bugfix/prevent-concurrentmodificationexception-in-mapper
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceresolver.git

commit c0e9b2ea6d2eab0fbcc4f1d47c0b6beafaac601e
Author: Konrad Windszus <[email protected]>
AuthorDate: Fri Nov 17 12:19:50 2023 +0100

    SLING-12160 Prevent ConcurrentModificationException in
    readAliasesOptimized(...)
---
 .../apache/sling/resourceresolver/impl/mapping/ResourceMapperImpl.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/ResourceMapperImpl.java
 
b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/ResourceMapperImpl.java
index f1e3dcb..56d8ea5 100644
--- 
a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/ResourceMapperImpl.java
+++ 
b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/ResourceMapperImpl.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
@@ -286,7 +287,7 @@ public class ResourceMapperImpl implements ResourceMapper {
        }
        String name = ResourceUtil.getName(path);
 
-       final Map<String, String> aliases = mapEntries.getAliasMap(parentPath);
+       final Map<String, String> aliases = new 
HashMap<>(mapEntries.getAliasMap(parentPath));
 
        if ( aliases == null || !aliases.containsValue(name) ) 
                return Collections.emptyList();

Reply via email to