diff options
Diffstat (limited to 'src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java')
-rw-r--r-- | src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java b/src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java index 47a0c595..e38284da 100644 --- a/src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java +++ b/src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java @@ -147,6 +147,7 @@ public final class NashornScriptEngineFactory implements ScriptEngineFactory { * @return newly created script engine. */ public ScriptEngine getScriptEngine(final ClassLoader appLoader) { + checkConfigPermission(); return new NashornScriptEngine(this, appLoader); } @@ -157,6 +158,7 @@ public final class NashornScriptEngineFactory implements ScriptEngineFactory { * @return newly created script engine. */ public ScriptEngine getScriptEngine(final String[] args) { + checkConfigPermission(); return new NashornScriptEngine(this, args, getAppClassLoader()); } @@ -168,11 +170,19 @@ public final class NashornScriptEngineFactory implements ScriptEngineFactory { * @return newly created script engine. */ public ScriptEngine getScriptEngine(final String[] args, final ClassLoader appLoader) { + checkConfigPermission(); return new NashornScriptEngine(this, args, appLoader); } // -- Internals only below this point + private static void checkConfigPermission() { + final SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkPermission(new RuntimePermission("nashorn.setConfig")); + } + } + private static final List<String> names; private static final List<String> mimeTypes; private static final List<String> extensions; |