diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2013-10-09 20:36:06 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2013-10-09 20:36:06 +0000 |
commit | f78b1b9ba06ffbbdecee2801917443f79011f134 (patch) | |
tree | fc3ef7699ec2d5dff96245bc6d90117d597fb678 /java/openjdk6/files/icedtea/security/20130416/8001322.patch | |
parent | Bump PORTREVISION after plist change (diff) |
Update to Build b28.
Diffstat (limited to 'java/openjdk6/files/icedtea/security/20130416/8001322.patch')
-rw-r--r-- | java/openjdk6/files/icedtea/security/20130416/8001322.patch | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/java/openjdk6/files/icedtea/security/20130416/8001322.patch b/java/openjdk6/files/icedtea/security/20130416/8001322.patch deleted file mode 100644 index 766d7270a1ab..000000000000 --- a/java/openjdk6/files/icedtea/security/20130416/8001322.patch +++ /dev/null @@ -1,61 +0,0 @@ -# HG changeset patch -# User dfuchs -# Date 1363010839 -3600 -# Node ID 4a3260353853c3590ceb915337e21fe17aa07dbd -# Parent ac0858a12d62c384c53a048a634d25dc1f8f1b72 -8001322: Refactor deserialization -Reviewed-by: mchung, skoivu, smarks - -diff --git a/src/share/classes/java/io/ObjectInputStream.java b/src/share/classes/java/io/ObjectInputStream.java ---- jdk/src/share/classes/java/io/ObjectInputStream.java -+++ jdk/src/share/classes/java/io/ObjectInputStream.java -@@ -41,6 +41,7 @@ - import java.util.concurrent.ConcurrentMap; - import java.util.concurrent.atomic.AtomicBoolean; - import static java.io.ObjectStreamClass.processQueue; -+import sun.reflect.misc.ReflectUtil; - - /** - * An ObjectInputStream deserializes primitive data and objects previously -@@ -1518,6 +1519,12 @@ - } - } - -+ private boolean isCustomSubclass() { -+ // Return true if this class is a custom subclass of ObjectInputStream -+ return getClass().getClassLoader() -+ != ObjectInputStream.class.getClassLoader(); -+ } -+ - /** - * Reads in and returns class descriptor for a dynamic proxy class. Sets - * passHandle to proxy class descriptor's assigned handle. If proxy class -@@ -1547,6 +1554,15 @@ - try { - if ((cl = resolveProxyClass(ifaces)) == null) { - resolveEx = new ClassNotFoundException("null class"); -+ } else if (!Proxy.isProxyClass(cl)) { -+ throw new InvalidClassException("Not a proxy"); -+ } else { -+ // ReflectUtil.checkProxyPackageAccess makes a test -+ // equivalent to isCustomSubclass so there's no need -+ // to condition this call to isCustomSubclass == true here. -+ ReflectUtil.checkProxyPackageAccess( -+ getClass().getClassLoader(), -+ cl.getInterfaces()); - } - } catch (ClassNotFoundException ex) { - resolveEx = ex; -@@ -1588,9 +1604,12 @@ - Class cl = null; - ClassNotFoundException resolveEx = null; - bin.setBlockDataMode(true); -+ final boolean checksRequired = isCustomSubclass(); - try { - if ((cl = resolveClass(readDesc)) == null) { - resolveEx = new ClassNotFoundException("null class"); -+ } else if (checksRequired) { -+ ReflectUtil.checkPackageAccess(cl); - } - } catch (ClassNotFoundException ex) { - resolveEx = ex; |