mirror of
https://github.com/openRuyi-Project/gcc.git
synced 2026-06-16 00:16:04 +00:00
re PR libgcj/28340 (gij ignores -Djava.security.manager)
2006-08-07 Gary Benson <gbenson@redhat.com> PR libgcj/28340: * java/lang/ClassLoader.java (clinit): Install a default security manager if java.security.manager is defined. (getParent, getSystemClassLoader): Use the correct stack frame during security checks. * java/net/URLClassLoader.java (findClass): Avoid calling this.toString() during VM initialization. (runtimeInitialized): New method. * java/net/natURLClassLoader.cc: New file. * Makefile.am (nat_source_files): Added the above. * Makefile.in: Rebuilt. From-SVN: r115999
This commit is contained in:
@@ -1078,7 +1078,12 @@ public class URLClassLoader extends SecureClassLoader
|
||||
resource = loader.getResource(resourceName);
|
||||
}
|
||||
if (resource == null)
|
||||
throw new ClassNotFoundException(className + " not found in " + this);
|
||||
{
|
||||
String message = className + " not found";
|
||||
if (runtimeInitialized())
|
||||
message += " in " + this;
|
||||
throw new ClassNotFoundException(message);
|
||||
}
|
||||
|
||||
// Try to read the class data, create the CodeSource, Package and
|
||||
// construct the class (and watch out for those nasty IOExceptions)
|
||||
@@ -1437,4 +1442,11 @@ public class URLClassLoader extends SecureClassLoader
|
||||
return loader;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tell whether runtime initialization is complete.
|
||||
*
|
||||
* @return whether runtime initialization is complete.
|
||||
*/
|
||||
private static native boolean runtimeInitialized();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
// natURLClassLoader.cc -- Native part of the URLClassLoader class.
|
||||
|
||||
/* Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <gcj/cni.h>
|
||||
#include <jvm.h>
|
||||
|
||||
#include <java/net/URLClassLoader.h>
|
||||
|
||||
jboolean
|
||||
java::net::URLClassLoader::runtimeInitialized ()
|
||||
{
|
||||
return gcj::runtimeInitialized;
|
||||
}
|
||||
Reference in New Issue
Block a user