# HG changeset patch # User redestad # Date 1539011340 -7200 # Mon Oct 08 17:09:00 2018 +0200 # Node ID 6f4415fa56dfc64547926a8dc6baf68285450379 # Parent 5d6d636cefff0fa6098b075e164f319255752737 8211860: Avoid reading security properties eagerly on Manifest class initialization Reviewed-by: TBD diff --git a/src/java.base/share/classes/java/util/jar/Manifest.java b/src/java.base/share/classes/java/util/jar/Manifest.java --- a/src/java.base/share/classes/java/util/jar/Manifest.java +++ b/src/java.base/share/classes/java/util/jar/Manifest.java @@ -49,9 +49,6 @@ */ public class Manifest implements Cloneable { - private static final boolean jarInfoInExceptionText = - SecurityProperties.includedInExceptions("jar"); - // manifest main attributes private Attributes attr = new Attributes(); @@ -203,10 +200,9 @@ } static String getErrorPosition(String filename, final int lineNumber) { - if (filename == null || !jarInfoInExceptionText) { + if (filename == null || !SecurityProperties.INCLUDE_JAR_IN_EXCEPTIONS) { return "line " + lineNumber; } - return "manifest of " + filename + ":" + lineNumber; } diff --git a/src/java.base/share/classes/sun/security/util/SecurityProperties.java b/src/java.base/share/classes/sun/security/util/SecurityProperties.java --- a/src/java.base/share/classes/sun/security/util/SecurityProperties.java +++ b/src/java.base/share/classes/sun/security/util/SecurityProperties.java @@ -32,6 +32,9 @@ public class SecurityProperties { + public static final boolean INCLUDE_JAR_IN_EXCEPTIONS = + includedInExceptions("jar"); + /** * Returns the value of the security property propName, which can be overridden * by a system property of the same name