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

royteeuwen pushed a commit to branch backport/SLING-13276-1.x
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceresolver.git

commit 600cbfc6338a26656142f923e0644e61bc5fe362
Author: Konrad Windszus <[email protected]>
AuthorDate: Wed May 28 12:36:32 2025 +0200

    SLING-13276: Prevent creating a resource with a name only consisting out of 
dots (backport to 1.x)
    
    Cherry-picked from master since this fix was never backported to the
    1.x maintenance branch.
    
    (cherry picked from commit 5ca4985198b23e092f66a928c5ceece5c4889ef6)
---
 .../apache/sling/resourceresolver/impl/ResourceResolverImpl.java  | 5 ++++-
 .../sling/resourceresolver/impl/ResourceResolverImplTest.java     | 8 +++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
 
b/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
index 5f2cb049..ed6d1f70 100644
--- 
a/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
+++ 
b/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
@@ -1024,7 +1024,10 @@ public class ResourceResolverImpl extends SlingAdaptable 
implements ResourceReso
         }
         // name should be a name not a path
         if (name.indexOf("/") != -1) {
-            throw new IllegalArgumentException("Name should not contain a 
slash: " + name);
+            throw new IllegalArgumentException("Name must not contain a slash: 
" + name);
+        }
+        if (name.chars().allMatch(c -> c == '.')) {
+            throw new IllegalArgumentException("Name must not only consist of 
dots: " + name);
         }
         final String path;
         if (parent.getPath().equals("/")) {
diff --git 
a/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java
 
b/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java
index 8ef66213..39316eee 100644
--- 
a/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java
+++ 
b/src/test/java/org/apache/sling/resourceresolver/impl/ResourceResolverImplTest.java
@@ -519,7 +519,13 @@ public class ResourceResolverImplTest {
             // correct
         }
         try {
-            this.resResolver.create(r, "a", null);
+            this.resResolver.create(r, "....", null);
+            fail("Only dots in name should throw illegal argument exception");
+        } catch (final IllegalArgumentException pe) {
+            // correct
+        }
+        try {
+            this.resResolver.create(r, "a.b", null);
             fail("This should be unsupported.");
         } catch (final UnsupportedOperationException uoe) {
             // correct

Reply via email to