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>