--- a/src/java.base/share/classes/java/lang/ClassLoader.java Wed Nov 08 13:32:40 2017 -0800
+++ b/src/java.base/share/classes/java/lang/ClassLoader.java Wed Nov 08 13:38:00 2017 -0800
@@ -675,12 +675,11 @@
return;
}
- final String name = cls.getName();
- final int i = name.lastIndexOf('.');
- if (i != -1) {
+ final String packageName = cls.getPackageName();
+ if (!packageName.isEmpty()) {
AccessController.doPrivileged(new PrivilegedAction<>() {
public Void run() {
- sm.checkPackageAccess(name.substring(0, i));
+ sm.checkPackageAccess(packageName);
return null;
}
}, new AccessControlContext(new ProtectionDomain[] {pd}));