diff options
Diffstat (limited to 'java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch')
-rw-r--r-- | java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch b/java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch deleted file mode 100644 index 90f89ce09c19..000000000000 --- a/java/openjdk6/files/icedtea/openjdk/8011139-revise_checking_getenclosingclass.patch +++ /dev/null @@ -1,58 +0,0 @@ -# HG changeset patch -# User jfranck -# Date 1382726704 -3600 -# Fri Oct 25 19:45:04 2013 +0100 -# Node ID a2b63addc0633a5ef8d196d1019d78b920cb4b1a -# Parent e7ed5dad88eefc49130ae02bcbf329d72f18f12e -8011139: (reflect) Revise checking in getEnclosingClass -Reviewed-by: darcy, mchung, ahgross - -diff -r e7ed5dad88ee -r a2b63addc063 src/share/classes/java/lang/Class.java ---- jdk/src/share/classes/java/lang/Class.java Fri Oct 25 19:37:20 2013 +0100 -+++ jdk/src/share/classes/java/lang/Class.java Fri Oct 25 19:45:04 2013 +0100 -@@ -1131,13 +1131,9 @@ - enclosingCandidate = enclosingClass; - } - -- // be very careful not to change the stack depth of this -- // checkMemberAccess call for security reasons -- // see java.lang.SecurityManager.checkMemberAccess -- if (enclosingCandidate != null) { -- enclosingCandidate.checkMemberAccess(Member.DECLARED, -- Reflection.getCallerClass(), true); -- } -+ if (enclosingCandidate != null) -+ enclosingCandidate.checkPackageAccess( -+ ClassLoader.getClassLoader(Reflection.getCallerClass()), true); - return enclosingCandidate; - } - -@@ -2214,6 +2210,8 @@ - * Check if client is allowed to access members. If access is denied, - * throw a SecurityException. - * -+ * This method also enforces package access. -+ * - * <p> Default policy: allow all clients access with normal Java access - * control. - */ -@@ -2234,7 +2232,19 @@ - // checkMemberAccess of subclasses of SecurityManager as specified. - s.checkMemberAccess(this, which); - } -+ this.checkPackageAccess(ccl, checkProxyInterfaces); -+ } -+ } - -+ /* -+ * Checks if a client loaded in ClassLoader ccl is allowed to access this -+ * class under the current package access policy. If access is denied, -+ * throw a SecurityException. -+ */ -+ private void checkPackageAccess(final ClassLoader ccl, boolean checkProxyInterfaces) { -+ final SecurityManager s = System.getSecurityManager(); -+ if (s != null) { -+ final ClassLoader cl = getClassLoader0(); - if (ReflectUtil.needsPackageAccessCheck(ccl, cl)) { - - String name = this.getName(); |