diff --git a/src/share/classes/java/io/ObjectStreamClass.java b/src/share/classes/java/io/ObjectStreamClass.java index ab104d5223c953cba7ce850db1e01a59ca83d4e6..04873c8a85dbb9b3bb8ccd0a181e24ed85c0fbe4 100644 --- a/src/share/classes/java/io/ObjectStreamClass.java +++ b/src/share/classes/java/io/ObjectStreamClass.java @@ -266,9 +266,11 @@ public class ObjectStreamClass implements Serializable { if (cl == null) { return null; } - Class caller = Reflection.getCallerClass(); - if (ReflectUtil.needsPackageAccessCheck(caller.getClassLoader(), cl.getClassLoader())) { - ReflectUtil.checkPackageAccess(cl); + if (System.getSecurityManager() != null) { + Class caller = Reflection.getCallerClass(); + if (ReflectUtil.needsPackageAccessCheck(caller.getClassLoader(), cl.getClassLoader())) { + ReflectUtil.checkPackageAccess(cl); + } } return cl; } diff --git a/src/share/classes/java/io/ObjectStreamField.java b/src/share/classes/java/io/ObjectStreamField.java index 630637fd7c4d68276b6e9beb29af97e470156e7c..ceae3fd188e3a574ce3cb6d661b46ed8f17bae41 100644 --- a/src/share/classes/java/io/ObjectStreamField.java +++ b/src/share/classes/java/io/ObjectStreamField.java @@ -162,9 +162,11 @@ public class ObjectStreamField */ @CallerSensitive public Class getType() { - Class caller = Reflection.getCallerClass(); - if (ReflectUtil.needsPackageAccessCheck(caller.getClassLoader(), type.getClassLoader())) { - ReflectUtil.checkPackageAccess(type); + if (System.getSecurityManager() != null) { + Class caller = Reflection.getCallerClass(); + if (ReflectUtil.needsPackageAccessCheck(caller.getClassLoader(), type.getClassLoader())) { + ReflectUtil.checkPackageAccess(type); + } } return type; }