You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by he...@apache.org on 2022/11/07 15:47:08 UTC

[commons-jexl] 02/09: JEXL-381: attempt to fix cyclic permission init;

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

commit 9245f2dc3b0150aa82ac20004cd7c897e1b9abec
Author: henrib <he...@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>