summaryrefslogtreecommitdiff
path: root/external/ikvm/openjdk/java/io/ObjectStreamField.java
diff options
context:
space:
mode:
Diffstat (limited to 'external/ikvm/openjdk/java/io/ObjectStreamField.java')
-rw-r--r--external/ikvm/openjdk/java/io/ObjectStreamField.java10
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;
}