From c8bbbe04fe4dcc1d3f39466ff36b3532ebea3bc0 Mon Sep 17 00:00:00 2001 From: "szegedia%freemail.hu" Date: Thu, 13 Nov 2008 18:11:36 +0000 Subject: [PATCH] Creating class loaders should be done in a doPrivileged block git-svn-id: svn://10.0.0.236/trunk@255020 18797224-902f-48f8-a5cc-f745e15eee43 --- .../src/org/mozilla/javascript/ContextFactory.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/ContextFactory.java b/mozilla/js/rhino/src/org/mozilla/javascript/ContextFactory.java index 0e834e6ccf5..486cd975712 100644 --- a/mozilla/js/rhino/src/org/mozilla/javascript/ContextFactory.java +++ b/mozilla/js/rhino/src/org/mozilla/javascript/ContextFactory.java @@ -40,6 +40,9 @@ package org.mozilla.javascript; +import java.security.AccessController; +import java.security.PrivilegedAction; + /** * Factory class that Rhino runtime uses to create new {@link Context} * instances. A ContextFactory can also notify listeners @@ -347,9 +350,13 @@ public class ContextFactory * is installed. * Application can override the method to provide custom class loading. */ - protected GeneratedClassLoader createClassLoader(ClassLoader parent) + protected GeneratedClassLoader createClassLoader(final ClassLoader parent) { - return new DefiningClassLoader(parent); + return AccessController.doPrivileged(new PrivilegedAction() { + public DefiningClassLoader run(){ + return new DefiningClassLoader(parent); + } + }); } /**