diff options
Diffstat (limited to 'libjava/java/lang/ClassLoader.java')
-rw-r--r-- | libjava/java/lang/ClassLoader.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java index 50bd26f..faec9a7 100644 --- a/libjava/java/lang/ClassLoader.java +++ b/libjava/java/lang/ClassLoader.java @@ -404,6 +404,14 @@ public abstract class ClassLoader protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { + SecurityManager sm = SecurityManager.current; + if (sm != null) + { + int lastDot = name.lastIndexOf('.'); + if (lastDot != -1) + sm.checkPackageAccess(name.substring(0, lastDot)); + } + // Arrays are handled specially. Class c; if (name.length() > 0 && name.charAt(0) == '[') |