You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ck...@apache.org on 2018/07/27 03:59:08 UTC
[5/6] logging-log4j2 git commit: [LOG4J2-2391] StackLocator
initializes PrivateSecurityManager
[LOG4J2-2391] StackLocator initializes PrivateSecurityManager
Regression introduced here, removing StackLocator.SECURITY_MANAGER
initialization: 55b9fd20907994a5115e28674d03ddb215e149b4
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/044e7add
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/044e7add
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/044e7add
Branch: refs/heads/master
Commit: 044e7addb2043ad629fc02d14ef29429e75ac0d0
Parents: 5eb02a1
Author: Carter Kozak <ck...@apache.org>
Authored: Thu Jul 26 22:27:32 2018 -0400
Committer: Carter Kozak <ck...@apache.org>
Committed: Thu Jul 26 23:57:59 2018 -0400
----------------------------------------------------------------------
.../org/apache/logging/log4j/util/StackLocator.java | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/044e7add/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java
index 3dfcd9b..fa7df44 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/StackLocator.java
@@ -46,7 +46,7 @@ import java.util.Stack;
*/
public final class StackLocator {
- private static PrivateSecurityManager SECURITY_MANAGER;
+ private static final PrivateSecurityManager SECURITY_MANAGER;
// Checkstyle Suppress: the lower-case 'u' ticks off CheckStyle...
// CHECKSTYLE:OFF
@@ -82,6 +82,19 @@ public final class StackLocator {
java7u25CompensationOffset = -1;
}
+ PrivateSecurityManager psm;
+ try {
+ final SecurityManager sm = System.getSecurityManager();
+ if (sm != null) {
+ sm.checkPermission(new RuntimePermission("createSecurityManager"));
+ }
+ psm = new PrivateSecurityManager();
+ } catch (final SecurityException ignored) {
+ psm = null;
+ }
+
+ SECURITY_MANAGER = psm;
+
GET_CALLER_CLASS = getCallerClass;
JDK_7u25_OFFSET = java7u25CompensationOffset;