Permission Analysis Report
Analysis of: org.eclipse.osgi
Detail
Class: org.eclipse.osgi.framework.launcher.Launcher (Application)
DoPrivileged location: Line# 341 void doConsole( org.eclipse.osgi.framework.internal.core.OSGi, java.lang.String[] )
Permission: java.lang.RuntimePermission "modifyThread"
Primordial/void java.lang.Thread.Thread( java.lang.Runnable, java.lang.String )
CODE
/**
* Invokes the OSGi Console on another thread
*
* @param osgi The current OSGi instance for the console to attach to
* @param consoleArgs An String array containing commands from the command line
* for the console to execute
*/
private void doConsole(OSGi osgi, String[] consoleArgs) {
Constructor consoleConstructor;
Object osgiconsole;
Class[] parameterTypes;
Object[] parameters;
try {
Class osgiconsoleClass = Class.forName(osgiConsoleClazz);
if (consolePort.length() == 0) {
parameterTypes = new Class[] {OSGi.class, String[].class};
parameters = new Object[] {osgi, consoleArgs};
} else {
parameterTypes = new Class[] {OSGi.class, int.class, String[].class};
parameters = new Object[] {osgi, new Integer(consolePort), consoleArgs};
}
consoleConstructor = osgiconsoleClass.getConstructor(parameterTypes);
osgiconsole = consoleConstructor.newInstance(parameters);
Thread t = new Thread(((Runnable) osgiconsole), OSGI_CONSOLE_COMPONENT_NAME);
t.start();
} catch (NumberFormatException nfe) {
System.err.println(NLS.bind(Msg.LAUNCHER_INVALID_PORT, consolePort)); //$NON-NLS-1$
} catch (Exception ex) {
informAboutMissingComponent(OSGI_CONSOLE_COMPONENT_NAME, OSGI_CONSOLE_COMPONENT);
}
}
Tainted variable reference trace:
Permission Requirements:
- permission java.lang.RuntimePermission "modifyThread";
Conclusion: