Permission Analysis Report
Analysis of: org.eclipse.core.runtime
Detail
Class: org.eclipse.core.runtime.internal.adaptor.Locker_JavaNio (Application)
DoPrivileged location: Line# 34 boolean lock( )
Permission: java.io.FilePermission "", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "*", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "-1", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "-2", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "-2147483648", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "-3", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "-9223372036854775808", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "..", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".bundledata", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".contributions", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".extraData", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".fileTableLock", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".lazy", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".log", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".mainData", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".manager", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".metadata", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".metadata/.lock", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".orphans", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".plugins", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".settings", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".state", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission ".table", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "/", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "0", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "1", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "1.3", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "10", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "13", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "2", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "23", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "3", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "3.0.0", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "4", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "5", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "6", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "7", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "8", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "9", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "???file???", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "Eclipse", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "No message available.", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "aix", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "bin", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "bundles", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "carbon", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "charset", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "false", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "file-extensions", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "file-names", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "fragment.xml", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "hpux", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "instance", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "linux", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "macosx", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "manifests", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "motif", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.core.runtime", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.core.runtime.adaptor/resolver/timing/value", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.core.runtime/content-types", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.osgi", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.osgi/defaultprofile/buffersize", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.osgi/defaultprofile/logfilename", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.osgi/defaultprofile/logsynchronously", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.osgi/profile/benchmark", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.osgi/profile/debug", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.osgi/profile/impl", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "org.eclipse.osgi/profile/startup", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "performance.log", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "photon", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "plugin.xml", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "plugin_customization.ini", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "pref_store.ini", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "preferences", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "qnx", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "solaris", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "true", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "unknown", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "win32", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "x86", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
Permission: java.io.FilePermission "x86_64", "write"
Primordial/void java.io.FileOutputStream.FileOutputStream( java.io.File, boolean )
CODE
public synchronized boolean lock() throws IOException {
fileStream = new FileOutputStream(lockFile, true);
try {
fileLock = fileStream.getChannel().tryLock();
} catch (IOException ioe) {
// log the original exception if debugging
if (BasicLocation.DEBUG) {
String basicMessage = NLS.bind(EclipseAdaptorMsg.location_cannotLock, lockFile);
FrameworkLogEntry basicEntry = new FrameworkLogEntry(FrameworkAdaptor.FRAMEWORK_SYMBOLICNAME, basicMessage, 0, ioe, null);
EclipseAdaptor.getDefault().getFrameworkLog().log(basicEntry);
}
// produce a more specific message for clients
String specificMessage = NLS.bind(EclipseAdaptorMsg.location_cannotLockNIO, new Object[] {lockFile, ioe.getMessage(), "\"-D" + BasicLocation.PROP_OSGI_LOCKING + "=none\""}); //$NON-NLS-1$ //$NON-NLS-2$
throw new IOException(specificMessage);
}
if (fileLock != null)
return true;
fileStream.close();
fileStream = null;
return false;
}
Tainted variable reference trace:
Permission Requirements:
- permission java.io.FilePermission "", "write";
- permission java.io.FilePermission "*", "write";
- permission java.io.FilePermission "-1", "write";
- permission java.io.FilePermission "-2", "write";
- permission java.io.FilePermission "-2147483648", "write";
- permission java.io.FilePermission "-3", "write";
- permission java.io.FilePermission "-9223372036854775808", "write";
- permission java.io.FilePermission ".", "write";
- permission java.io.FilePermission "..", "write";
- permission java.io.FilePermission ".bundledata", "write";
- permission java.io.FilePermission ".contributions", "write";
- permission java.io.FilePermission ".extraData", "write";
- permission java.io.FilePermission ".fileTableLock", "write";
- permission java.io.FilePermission ".lazy", "write";
- permission java.io.FilePermission ".log", "write";
- permission java.io.FilePermission ".mainData", "write";
- permission java.io.FilePermission ".manager", "write";
- permission java.io.FilePermission ".metadata", "write";
- permission java.io.FilePermission ".metadata/.lock", "write";
- permission java.io.FilePermission ".orphans", "write";
- permission java.io.FilePermission ".plugins", "write";
- permission java.io.FilePermission ".settings", "write";
- permission java.io.FilePermission ".state", "write";
- permission java.io.FilePermission ".table", "write";
- permission java.io.FilePermission "/", "write";
- permission java.io.FilePermission "0", "write";
- permission java.io.FilePermission "1", "write";
- permission java.io.FilePermission "1.3", "write";
- permission java.io.FilePermission "10", "write";
- permission java.io.FilePermission "13", "write";
- permission java.io.FilePermission "2", "write";
- permission java.io.FilePermission "23", "write";
- permission java.io.FilePermission "3", "write";
- permission java.io.FilePermission "3.0.0", "write";
- permission java.io.FilePermission "4", "write";
- permission java.io.FilePermission "5", "write";
- permission java.io.FilePermission "6", "write";
- permission java.io.FilePermission "7", "write";
- permission java.io.FilePermission "8", "write";
- permission java.io.FilePermission "9", "write";
- permission java.io.FilePermission "???file???", "write";
- permission java.io.FilePermission "Eclipse", "write";
- permission java.io.FilePermission "META-INF/MANIFEST.MF", "write";
- permission java.io.FilePermission "No message available.", "write";
- permission java.io.FilePermission "aix", "write";
- permission java.io.FilePermission "bin", "write";
- permission java.io.FilePermission "bundles", "write";
- permission java.io.FilePermission "carbon", "write";
- permission java.io.FilePermission "charset", "write";
- permission java.io.FilePermission "false", "write";
- permission java.io.FilePermission "file-extensions", "write";
- permission java.io.FilePermission "file-names", "write";
- permission java.io.FilePermission "fragment.xml", "write";
- permission java.io.FilePermission "hpux", "write";
- permission java.io.FilePermission "instance", "write";
- permission java.io.FilePermission "linux", "write";
- permission java.io.FilePermission "macosx", "write";
- permission java.io.FilePermission "manifests", "write";
- permission java.io.FilePermission "motif", "write";
- permission java.io.FilePermission "org.eclipse.core.runtime", "write";
- permission java.io.FilePermission "org.eclipse.core.runtime.adaptor/resolver/timing/value", "write";
- permission java.io.FilePermission "org.eclipse.core.runtime/content-types", "write";
- permission java.io.FilePermission "org.eclipse.osgi", "write";
- permission java.io.FilePermission "org.eclipse.osgi/defaultprofile/buffersize", "write";
- permission java.io.FilePermission "org.eclipse.osgi/defaultprofile/logfilename", "write";
- permission java.io.FilePermission "org.eclipse.osgi/defaultprofile/logsynchronously", "write";
- permission java.io.FilePermission "org.eclipse.osgi/profile/benchmark", "write";
- permission java.io.FilePermission "org.eclipse.osgi/profile/debug", "write";
- permission java.io.FilePermission "org.eclipse.osgi/profile/impl", "write";
- permission java.io.FilePermission "org.eclipse.osgi/profile/startup", "write";
- permission java.io.FilePermission "performance.log", "write";
- permission java.io.FilePermission "photon", "write";
- permission java.io.FilePermission "plugin.xml", "write";
- permission java.io.FilePermission "plugin_customization.ini", "write";
- permission java.io.FilePermission "pref_store.ini", "write";
- permission java.io.FilePermission "preferences", "write";
- permission java.io.FilePermission "qnx", "write";
- permission java.io.FilePermission "solaris", "write";
- permission java.io.FilePermission "true", "write";
- permission java.io.FilePermission "unknown", "write";
- permission java.io.FilePermission "win32", "write";
- permission java.io.FilePermission "x86", "write";
- permission java.io.FilePermission "x86_64", "write";
Conclusion: