You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ku...@apache.org on 2023/08/21 13:38:30 UTC

[struts] 05/07: WW-5337 Make #isClassExcluded (semantics changes) and #isExcludedPackageExempt constant time

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

kusal pushed a commit to branch WW-5337-exclusion-performance
in repository https://gitbox.apache.org/repos/asf/struts.git

commit e53dd7dd5e8f0f8d9aa3244180cb6394bb00ed07
Author: Kusal Kithul-Godage <gi...@kusal.io>
AuthorDate: Mon Aug 21 23:34:47 2023 +1000

    WW-5337 Make #isClassExcluded (semantics changes) and #isExcludedPackageExempt constant time
---
 .../java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java     | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
index d90e58308..3b870dedd 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
@@ -251,14 +251,14 @@ public class SecurityMemberAccess implements MemberAccess {
     }
 
     protected boolean isClassExcluded(Class<?> clazz) {
-        if (clazz == Object.class || (clazz == Class.class && !allowStaticFieldAccess)) {
+        if (clazz == Class.class && !allowStaticFieldAccess) {
             return true;
         }
-        return excludedClasses.stream().anyMatch(clazz::isAssignableFrom);
+        return excludedClasses.contains(clazz);
     }
 
     protected boolean isExcludedPackageExempt(Class<?> clazz) {
-        return excludedPackageExemptClasses.stream().anyMatch(clazz::equals);
+        return excludedPackageExemptClasses.contains(clazz);
     }
 
     protected boolean isAcceptableProperty(String name) {