diff options
Diffstat (limited to 'external/ikvm/openjdk/java/io/ObjectStreamField.java')
-rw-r--r-- | external/ikvm/openjdk/java/io/ObjectStreamField.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/external/ikvm/openjdk/java/io/ObjectStreamField.java b/external/ikvm/openjdk/java/io/ObjectStreamField.java index c2d1ffe174..1d7c2cdf1e 100644 --- a/external/ikvm/openjdk/java/io/ObjectStreamField.java +++ b/external/ikvm/openjdk/java/io/ObjectStreamField.java @@ -26,6 +26,9 @@ package java.io; import java.lang.reflect.Field; +import sun.reflect.CallerSensitive; +import sun.reflect.Reflection; +import sun.reflect.misc.ReflectUtil; /** * A description of a Serializable field from a Serializable class. An array @@ -163,7 +166,14 @@ public class ObjectStreamField * @return a <code>Class</code> object representing the type of the * serializable field */ + @CallerSensitive public Class<?> getType() { + if (System.getSecurityManager() != null) { + Class<?> caller = Reflection.getCallerClass(); + if (ReflectUtil.needsPackageAccessCheck(caller.getClassLoader(), type.getClassLoader())) { + ReflectUtil.checkPackageAccess(type); + } + } return type; } |