提交 d1e480b2 编写于 作者: J jlaskey

8015814: loadWithNewGlobal needs to wrap createGlobal in AccessController.doPrivileged

Reviewed-by: sundar
Contributed-by: james.laskey@oracle.com
上级 57a2db44
......@@ -500,9 +500,21 @@ public final class Context {
*
* @throws IOException if source cannot be found or loaded
*/
public Object loadWithNewGlobal(final Object from) throws IOException {
public Object loadWithNewGlobal(final Object from) throws IOException, RuntimeException {
final ScriptObject oldGlobal = getGlobalTrusted();
final ScriptObject newGlobal = createGlobal();
final ScriptObject newGlobal = AccessController.doPrivileged(new PrivilegedAction<ScriptObject>() {
@Override
public ScriptObject run() {
try {
return createGlobal();
} catch (final RuntimeException e) {
if (Context.DEBUG) {
e.printStackTrace();
}
throw e;
}
}
});
setGlobalTrusted(newGlobal);
try {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册