summaryrefslogtreecommitdiff
path: root/java/lang/ClassLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/lang/ClassLoader.java')
-rw-r--r--java/lang/ClassLoader.java7
1 files changed, 3 insertions, 4 deletions
diff --git a/java/lang/ClassLoader.java b/java/lang/ClassLoader.java
index 943bab5ad..a5093136d 100644
--- a/java/lang/ClassLoader.java
+++ b/java/lang/ClassLoader.java
@@ -39,6 +39,7 @@ exception statement from your version. */
package java.lang;
import gnu.classpath.SystemProperties;
+import gnu.classpath.VMStackWalker;
import gnu.java.util.DoubleEnumeration;
import gnu.java.util.EmptyEnumeration;
@@ -520,8 +521,7 @@ public abstract class ClassLoader
SecurityManager sm = SecurityManager.current;
if (sm != null)
{
- Class c = VMSecurityManager.getClassContext()[1];
- ClassLoader cl = c.getClassLoader();
+ ClassLoader cl = VMStackWalker.getCallingClassLoader();
if (cl != null && ! cl.isAncestorOf(this))
sm.checkPermission(new RuntimePermission("getClassLoader"));
}
@@ -763,8 +763,7 @@ public abstract class ClassLoader
SecurityManager sm = SecurityManager.current;
if (sm != null)
{
- Class c = VMSecurityManager.getClassContext()[1];
- ClassLoader cl = c.getClassLoader();
+ ClassLoader cl = VMStackWalker.getCallingClassLoader();
if (cl != null && cl != StaticData.systemClassLoader)
sm.checkPermission(new RuntimePermission("getClassLoader"));
}