src/java.base/share/classes/java/lang/reflect/Proxy.java
changeset 47722 ce6ff74192fc
parent 47216 71c04702a3d5
child 49273 af8ab4f90a32
--- a/src/java.base/share/classes/java/lang/reflect/Proxy.java	Wed Nov 08 13:32:40 2017 -0800
+++ b/src/java.base/share/classes/java/lang/reflect/Proxy.java	Wed Nov 08 13:38:00 2017 -0800
@@ -1034,11 +1034,8 @@
 
                 // do permission check if the caller is in a different runtime package
                 // of the proxy class
-                int n = proxyClass.getName().lastIndexOf('.');
-                String pkg = (n == -1) ? "" : proxyClass.getName().substring(0, n);
-
-                n = caller.getName().lastIndexOf('.');
-                String callerPkg = (n == -1) ? "" : caller.getName().substring(0, n);
+                String pkg = proxyClass.getPackageName();
+                String callerPkg = caller.getPackageName();
 
                 if (pcl != ccl || !pkg.equals(callerPkg)) {
                     sm.checkPermission(new ReflectPermission("newProxyInPackage." + pkg));