From effb0817ff4ebb40054c5769a523473274f6c0cc Mon Sep 17 00:00:00 2001 From: Craig Perkins Date: Wed, 8 Oct 2025 14:20:03 -0400 Subject: [PATCH 1/2] Create a WildcardMatcher.NONE when creating a WildcardMatcher with an empty string Signed-off-by: Craig Perkins --- .../java/org/opensearch/security/support/WildcardMatcher.java | 2 +- src/test/java/org/opensearch/security/UtilTests.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/opensearch/security/support/WildcardMatcher.java b/src/main/java/org/opensearch/security/support/WildcardMatcher.java index 6f73f5dc49..0f30210cdb 100644 --- a/src/main/java/org/opensearch/security/support/WildcardMatcher.java +++ b/src/main/java/org/opensearch/security/support/WildcardMatcher.java @@ -162,7 +162,7 @@ public String toString() { }; public static WildcardMatcher from(String pattern) { - if (pattern == null) { + if (pattern == null || pattern.isBlank()) { return NONE; } else if (pattern.equals("*")) { return ANY; diff --git a/src/test/java/org/opensearch/security/UtilTests.java b/src/test/java/org/opensearch/security/UtilTests.java index 8352645c19..f357e59221 100644 --- a/src/test/java/org/opensearch/security/UtilTests.java +++ b/src/test/java/org/opensearch/security/UtilTests.java @@ -77,6 +77,9 @@ public void testWildcardMatcherClasses() { assertTrue(wc("abc").test("abc")); assertFalse(wc("ABC").test("abc")); assertFalse(wc(null).test("abc")); + assertFalse(wc("").test("abc")); + // Creating a WildcardMatcher with blank should create a matcher that matches nothing + assertFalse(wc("").test("")); assertTrue(WildcardMatcher.from(null, "abc").test("abc")); } From f7f3d494efe763ac82539bfa4254b81907583ab4 Mon Sep 17 00:00:00 2001 From: Craig Perkins Date: Thu, 9 Oct 2025 12:03:08 -0400 Subject: [PATCH 2/2] Add to CHANGELOG Signed-off-by: Craig Perkins --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1ad72b45b..1f187c4f3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### Enhancements ### Bug Fixes +- Create a WildcardMatcher.NONE when creating a WildcardMatcher with an empty string ([#5694](https://github.com/opensearch-project/security/pull/5694)) ### Refactoring