natClass.cc (initializeClass): Re-throw SecurityExceptions.

2007-01-26  Andrew Haley  <aph@redhat.com>

        * java/lang/natClass.cc (initializeClass): Re-throw
        SecurityExceptions.
        * java/lang/natVMClassLoader.cc (loadClass): checkPackageAccess.
        * java/lang/ClassLoader.java: (loadClass): Likewise.

From-SVN: r121285
This commit is contained in:
Andrew Haley 2007-01-29 13:14:38 +00:00
parent 2631dfddd2
commit 6b05e79165
4 changed files with 33 additions and 0 deletions

View file

@ -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) == '[')