This is an automated email from the ASF dual-hosted git repository. henrib pushed a commit to branch JEXL-381 in repository https://gitbox.apache.org/repos/asf/commons-jexl.git
The following commit(s) were added to refs/heads/JEXL-381 by this push: new 7e814623 JEXL-381: attempt to fix cyclic permission init; 7e814623 is described below commit 7e814623070cee30dea61ff838fb2ad111b65a7a Author: henrib <hen...@apache.org> AuthorDate: Fri Oct 21 20:05:02 2022 +0200 JEXL-381: attempt to fix cyclic permission init; --- .../commons/jexl3/internal/introspection/PermissionsParser.java | 3 +++ .../java/org/apache/commons/jexl3/introspection/JexlPermissions.java | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/commons/jexl3/internal/introspection/PermissionsParser.java b/src/main/java/org/apache/commons/jexl3/internal/introspection/PermissionsParser.java index 165aef3c..317030ae 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/introspection/PermissionsParser.java +++ b/src/main/java/org/apache/commons/jexl3/internal/introspection/PermissionsParser.java @@ -75,6 +75,9 @@ public class PermissionsParser { * @return the permissions map */ public Permissions parse(String... srcs) { + if (srcs == null || srcs.length == 0) { + return Permissions.UNRESTRICTED; + } packages = new ConcurrentHashMap<>(); wildcards = new LinkedHashSet<>(); for(String src : srcs) { diff --git a/src/main/java/org/apache/commons/jexl3/introspection/JexlPermissions.java b/src/main/java/org/apache/commons/jexl3/introspection/JexlPermissions.java index 2fca219c..5bb250cf 100644 --- a/src/main/java/org/apache/commons/jexl3/introspection/JexlPermissions.java +++ b/src/main/java/org/apache/commons/jexl3/introspection/JexlPermissions.java @@ -166,7 +166,7 @@ public interface JexlPermissions { * @since 3.3 */ static JexlPermissions parse(String... src) { - return src == null || src.length == 0? Permissions.UNRESTRICTED : new PermissionsParser().parse(src); + return new PermissionsParser().parse(src); } /** @@ -174,7 +174,7 @@ public interface JexlPermissions { * <p>This enables any public class, method, constructor or field to be visible to JEXL and used in scripts.</p> * @since 3.3 */ - public static final JexlPermissions UNRESTRICTED = Permissions.UNRESTRICTED; + public static final JexlPermissions UNRESTRICTED = JexlPermissions.parse(null); /** * A restricted singleton. * <p>The RESTRICTED set is built using the following allowed packages and denied packages/classes.</p>