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 15:44:44 UTC
[5/7] 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/76e71e16
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/76e71e16
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/76e71e16
Branch: refs/heads/release-2.x
Commit: 76e71e163f6a08ad243a21563c568988c5f54453
Parents: 03111a4
Author: Carter Kozak <ck...@apache.org>
Authored: Thu Jul 26 22:27:32 2018 -0400
Committer: Carter Kozak <ck...@apache.org>
Committed: Fri Jul 27 11:39:14 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/76e71e16/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;