Permission Analysis Report


Analysis of: org.eclipse.osgi

Detail


Class: org.eclipse.core.runtime.adaptor.FileManager (Application)
DoPrivileged location: Line# 46 void <clinit>(  )
   Permission: java.util.PropertyPermission "osgi.embedded.cleanTempFiles", "read"
      Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )


CODE
/** * File managers provide a facility for tracking the state of files being used and updated by several * systems at the same time. The typical usecase is in shared configuration data areas. *

* The general principle is to maintain a table which maps user-level file name * onto actual disk file. The filename is actually never used, and the file is always stored under the * given filename suffixed by an integer. If a file needs to be modified, it is written into a new file whose name suffix * is incremented. * Once the instance has been created, open() must be called before performing any other operation. * On open the fileManager starts by reading the current table and * thereby obtaining a snapshot of the current directory state. If another * entity updates the directory, the file manager is able to detect the change. * Given that the file is unique, if another entity used the file manager mechanism, the file manager can * still access the state of the file as it was when the file manager first started. *

* The facilities provided here are cooperative. That is, all participants must * agree to the conventions and to calling the given API. There is no capacity * to enforce these conventions or prohibit corruption. *

*

* Clients may not extend this class. *

* @since 3.1 */ public class FileManager { static final int FILETYPE_STANDARD = 0; static final int FILETYPE_RELIABLEFILE = 1; private static boolean tempCleanup = Boolean.valueOf(System.getProperty("osgi.embedded.cleanTempFiles")).booleanValue(); //$NON-NLS-1$ private static boolean openCleanup = Boolean.valueOf(System.getProperty("osgi.embedded.cleanupOnOpe ...
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 47 void <clinit>( ) Permission: java.util.PropertyPermission "osgi.embedded.cleanupOnOpen", "read" Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )

CODE
/** * File managers provide a facility for tracking the state of files being used and updated by several * systems at the same time. The typical usecase is in shared configuration data areas. *

* The general principle is to maintain a table which maps user-level file name * onto actual disk file. The filename is actually never used, and the file is always stored under the * given filename suffixed by an integer. If a file needs to be modified, it is written into a new file whose name suffix * is incremented. * Once the instance has been created, open() must be called before performing any other operation. * On open the fileManager starts by reading the current table and * thereby obtaining a snapshot of the current directory state. If another * entity updates the directory, the file manager is able to detect the change. * Given that the file is unique, if another entity used the file manager mechanism, the file manager can * still access the state of the file as it was when the file manager first started. *

* The facilities provided here are cooperative. That is, all participants must * agree to the conventions and to calling the given API. There is no capacity * to enforce these conventions or prohibit corruption. *

*

* Clients may not extend this class. *

* @since 3.1 */ public class FileManager { static final int FILETYPE_STANDARD = 0; static final int FILETYPE_RELIABLEFILE = 1; private static boolean tempCleanup = Boolean.valueOf(System.getProperty("osgi.embedded.cleanTempFiles")).booleanValue(); //$NON-NLS-1$ private static boolean openCleanup = Boolean.valueOf(System.getProperty("osgi.embedded.cleanupOnOpen")).booleanValue(); //$NON-NLS-1$ private class Entry { int readId; int writeId; int fileType; Entry(int readId, int ...
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 133 void <init>( java.io.File, java.lang.String, boolean ) Permission: java.io.FilePermission "", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "*", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "*", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-1", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-1", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-2", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-2", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-2147483648", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-3", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-3", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "-9223372036854775808", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission ".", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission ".", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission ".manager", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission ".manager", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "0", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "0", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "1", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "1", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "1.3", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "1.3", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "10", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "10", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "13", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "13", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "2", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "2", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "23", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "23", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "3", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "3", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "3.0.0", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "4", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "4", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "5", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "5", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "6", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "6", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "7", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "7", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "8", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "8", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "9", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "9", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "???file???", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "???file???", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "Eclipse", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "No message available.", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "aix", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "aix", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "bin", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "bin", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "bundles", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "bundles", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "carbon", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "carbon", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "false", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "false", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "fragment.xml", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "hpux", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "hpux", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "linux", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "linux", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "macosx", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "macosx", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "manifests", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "manifests", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "motif", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "motif", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "org.eclipse.osgi", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "photon", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "photon", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "plugin.xml", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "qnx", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "qnx", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "solaris", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "solaris", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "true", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "true", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "unknown", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "unknown", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "win32", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "win32", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "x86", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "x86", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/boolean java.io.File.mkdirs( ) Permission: java.io.FilePermission "x86_64", "write" Primordial/boolean java.io.File.mkdirs( ) Permission: java.util.PropertyPermission "user.dir", "read" Primordial/boolean java.io.File.mkdirs( )

CODE
/** * Returns a new file manager for the area identified by the given base * directory. * * @param base the directory holding the files to be managed * @param lockMode the lockMode to use for the given filemanager. It can have one the 3 values: none, java.io, java.nio * and also supports null in which case the lock strategy will be the global one. */ public FileManager(File base, String lockMode, boolean readOnly) { this.base = base; this.lockMode = lockMode; this.managerRoot = new File(base, MANAGER_FOLDER); if (!readOnly) this.managerRoot.mkdirs(); this.tableFile = new File(managerRoot, TABLE_FILE); this.lockFile = new File(managerRoot, LOCK_FILE); this.readOnly = readOnly; open = false; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 565 void cleanup( ) Permission: java.io.FilePermission "", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "*", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-1", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-2", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission ".", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission ".manager", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "0", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "1", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "1.3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "10", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "13", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "2", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "23", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "4", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "5", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "6", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "7", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "8", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "9", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "???file???", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "aix", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "bin", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "bundles", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "carbon", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "false", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "hpux", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "linux", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "macosx", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "manifests", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "motif", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "photon", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "qnx", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "solaris", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "true", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "unknown", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "win32", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "x86", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/java.lang.String[] java.io.File.list( )

CODE
/** * This methods remove all the temporary files that have been created by the fileManager. * This removal is only done if the instance of eclipse calling this method is the last instance using this fileManager. * @throws IOException */ private void cleanup() throws IOException { if (readOnly) return; //Lock first, so someone else can not start while we're in the middle of cleanup if (!lock(true)) throw new IOException(EclipseAdaptorMsg.fileManager_cannotLock); try { //Iterate through the temp files and delete them all, except the one representing this filemanager. String[] files = managerRoot.list(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].endsWith(".instance") && instanceFile != null && !files[i].equalsIgnoreCase(instanceFile.getName())) { //$NON-NLS-1$ Locker tmpLocker = BasicLocation.createLocker(new File(managerRoot, files[i]), lockMode); if (tmpLocker.lock()) { //If I can lock it is a file that has been left behind by a crash tmpLocker.release(); new File(managerRoot, files[i]).delete(); } else { tmpLocker.release(); return; //The file is still being locked by somebody else } } } } //If we are here it is because we are the last instance running. After locking the table and getting its latest content, remove all the backup files and change the table updateTable(); Collection managedFiles = table.entrySet(); for (Iterator iter = managedFiles.iterator(); iter.hasNext();) { Map.Entry fileEntry = (Map.Entry) iter.next(); String fileName = (String) fileEntry.getKey(); Entry info = (Entry) fileEntry.getValue(); if (info.getFileType() == FILETYPE_RELIABLEFILE) { ReliableFile.cleanupGenerations(new File(base, fileName)); } else { //Because we are cleaning up, we are giving up the values from our table, and we must delete all the files that are not referenced by the table String readId = Integer.toString(info.getWriteId() - 1); deleteCopies(fileName, readId); } } if (tempCleanup) { files = base.list(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].endsWith(ReliableFile.tmpExt)) { //$NON-NLS-1$ new File(base, files[i]).delete(); } } } } } catch (IOException e) { //If the exception comes from the updateTable(), there has been a problem in reading the file. //If an exception occured in the save, then the table won't be up to date! throw e; } finally { release(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 573 void cleanup( ) Permission: java.io.FilePermission "", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "*", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-1", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-2", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-2147483648", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-9223372036854775808", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission ".", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission ".manager", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "0", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "1", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "1.3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "10", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "13", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "2", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "23", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "3.0.0", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "4", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "5", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "6", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "7", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "8", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "9", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "???file???", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "Eclipse", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "No message available.", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "aix", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "bin", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "bundles", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "carbon", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "false", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "fragment.xml", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "hpux", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "linux", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "macosx", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "manifests", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "motif", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "org.eclipse.osgi", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "photon", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "plugin.xml", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "qnx", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "solaris", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "true", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "unknown", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "win32", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "x86", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "x86_64", "delete" Primordial/boolean java.io.File.delete( )

CODE
/** * This methods remove all the temporary files that have been created by the fileManager. * This removal is only done if the instance of eclipse calling this method is the last instance using this fileManager. * @throws IOException */ private void cleanup() throws IOException { if (readOnly) return; //Lock first, so someone else can not start while we're in the middle of cleanup if (!lock(true)) throw new IOException(EclipseAdaptorMsg.fileManager_cannotLock); try { //Iterate through the temp files and delete them all, except the one representing this filemanager. String[] files = managerRoot.list(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].endsWith(".instance") && instanceFile != null && !files[i].equalsIgnoreCase(instanceFile.getName())) { //$NON-NLS-1$ Locker tmpLocker = BasicLocation.createLocker(new File(managerRoot, files[i]), lockMode); if (tmpLocker.lock()) { //If I can lock it is a file that has been left behind by a crash tmpLocker.release(); new File(managerRoot, files[i]).delete(); } else { tmpLocker.release(); return; //The file is still being locked by somebody else } } } } //If we are here it is because we are the last instance running. After locking the table and getting its latest content, remove all the backup files and change the table updateTable(); Collection managedFiles = table.entrySet(); for (Iterator iter = managedFiles.iterator(); iter.hasNext();) { Map.Entry fileEntry = (Map.Entry) iter.next(); String fileName = (String) fileEntry.getKey(); Entry info = (Entry) fileEntry.getValue(); if (info.getFileType() == FILETYPE_RELIABLEFILE) { ReliableFile.cleanupGenerations(new File(base, fileName)); } else { //Because we are cleaning up, we are giving up the values from our table, and we must delete all the files that are not referenced by the table String readId = Integer.toString(info.getWriteId() - 1); deleteCopies(fileName, readId); } } if (tempCleanup) { files = base.list(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].endsWith(ReliableFile.tmpExt)) { //$NON-NLS-1$ new File(base, files[i]).delete(); } } } } } catch (IOException e) { //If the exception comes from the updateTable(), there has been a problem in reading the file. //If an exception occured in the save, then the table won't be up to date! throw e; } finally { release(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 599 void cleanup( ) Permission: java.io.FilePermission "", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "*", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-1", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-2", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission ".", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "0", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "1", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "1.3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "10", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "13", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "2", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "23", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "4", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "5", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "6", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "7", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "8", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "9", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "???file???", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "aix", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "bin", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "bundles", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "carbon", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "false", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "hpux", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "linux", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "macosx", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "manifests", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "motif", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "photon", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "qnx", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "solaris", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "true", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "unknown", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "win32", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "x86", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/java.lang.String[] java.io.File.list( )

CODE
/** * This methods remove all the temporary files that have been created by the fileManager. * This removal is only done if the instance of eclipse calling this method is the last instance using this fileManager. * @throws IOException */ private void cleanup() throws IOException { if (readOnly) return; //Lock first, so someone else can not start while we're in the middle of cleanup if (!lock(true)) throw new IOException(EclipseAdaptorMsg.fileManager_cannotLock); try { //Iterate through the temp files and delete them all, except the one representing this filemanager. String[] files = managerRoot.list(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].endsWith(".instance") && instanceFile != null && !files[i].equalsIgnoreCase(instanceFile.getName())) { //$NON-NLS-1$ Locker tmpLocker = BasicLocation.createLocker(new File(managerRoot, files[i]), lockMode); if (tmpLocker.lock()) { //If I can lock it is a file that has been left behind by a crash tmpLocker.release(); new File(managerRoot, files[i]).delete(); } else { tmpLocker.release(); return; //The file is still being locked by somebody else } } } } //If we are here it is because we are the last instance running. After locking the table and getting its latest content, remove all the backup files and change the table updateTable(); Collection managedFiles = table.entrySet(); for (Iterator iter = managedFiles.iterator(); iter.hasNext();) { Map.Entry fileEntry = (Map.Entry) iter.next(); String fileName = (String) fileEntry.getKey(); Entry info = (Entry) fileEntry.getValue(); if (info.getFileType() == FILETYPE_RELIABLEFILE) { ReliableFile.cleanupGenerations(new File(base, fileName)); } else { //Because we are cleaning up, we are giving up the values from our table, and we must delete all the files that are not referenced by the table String readId = Integer.toString(info.getWriteId() - 1); deleteCopies(fileName, readId); } } if (tempCleanup) { files = base.list(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].endsWith(ReliableFile.tmpExt)) { //$NON-NLS-1$ new File(base, files[i]).delete(); } } } } } catch (IOException e) { //If the exception comes from the updateTable(), there has been a problem in reading the file. //If an exception occured in the save, then the table won't be up to date! throw e; } finally { release(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 603 void cleanup( ) Permission: java.io.FilePermission "", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "*", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-1", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-2", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-2147483648", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-9223372036854775808", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission ".", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "0", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "1", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "1.3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "10", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "13", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "2", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "23", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "3.0.0", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "4", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "5", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "6", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "7", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "8", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "9", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "???file???", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "Eclipse", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "No message available.", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "aix", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "bin", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "bundles", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "carbon", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "false", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "fragment.xml", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "hpux", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "linux", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "macosx", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "manifests", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "motif", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "org.eclipse.osgi", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "photon", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "plugin.xml", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "qnx", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "solaris", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "true", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "unknown", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "win32", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "x86", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "x86_64", "delete" Primordial/boolean java.io.File.delete( )

CODE
/** * This methods remove all the temporary files that have been created by the fileManager. * This removal is only done if the instance of eclipse calling this method is the last instance using this fileManager. * @throws IOException */ private void cleanup() throws IOException { if (readOnly) return; //Lock first, so someone else can not start while we're in the middle of cleanup if (!lock(true)) throw new IOException(EclipseAdaptorMsg.fileManager_cannotLock); try { //Iterate through the temp files and delete them all, except the one representing this filemanager. String[] files = managerRoot.list(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].endsWith(".instance") && instanceFile != null && !files[i].equalsIgnoreCase(instanceFile.getName())) { //$NON-NLS-1$ Locker tmpLocker = BasicLocation.createLocker(new File(managerRoot, files[i]), lockMode); if (tmpLocker.lock()) { //If I can lock it is a file that has been left behind by a crash tmpLocker.release(); new File(managerRoot, files[i]).delete(); } else { tmpLocker.release(); return; //The file is still being locked by somebody else } } } } //If we are here it is because we are the last instance running. After locking the table and getting its latest content, remove all the backup files and change the table updateTable(); Collection managedFiles = table.entrySet(); for (Iterator iter = managedFiles.iterator(); iter.hasNext();) { Map.Entry fileEntry = (Map.Entry) iter.next(); String fileName = (String) fileEntry.getKey(); Entry info = (Entry) fileEntry.getValue(); if (info.getFileType() == FILETYPE_RELIABLEFILE) { ReliableFile.cleanupGenerations(new File(base, fileName)); } else { //Because we are cleaning up, we are giving up the values from our table, and we must delete all the files that are not referenced by the table String readId = Integer.toString(info.getWriteId() - 1); deleteCopies(fileName, readId); } } if (tempCleanup) { files = base.list(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].endsWith(ReliableFile.tmpExt)) { //$NON-NLS-1$ new File(base, files[i]).delete(); } } } } } catch (IOException e) { //If the exception comes from the updateTable(), there has been a problem in reading the file. //If an exception occured in the save, then the table won't be up to date! throw e; } finally { release(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 647 void close( ) Permission: java.io.FilePermission "", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "*", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-1", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-2", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-2147483648", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-9223372036854775808", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission ".", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission ".manager", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "0", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "1", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "1.3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "10", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "13", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "2", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "23", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "3.0.0", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "4", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "5", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "6", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "7", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "8", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "9", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "???file???", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "Eclipse", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "No message available.", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "aix", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "bin", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "bundles", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "carbon", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "false", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "fragment.xml", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "hpux", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "linux", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "macosx", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "manifests", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "motif", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "org.eclipse.osgi", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "permdata", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "photon", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "plugin.xml", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "qnx", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "solaris", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "true", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "unknown", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "win32", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "x86", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "x86_64", "delete" Primordial/boolean java.io.File.delete( )

CODE
/** * This methods declare the fileManager as closed. From thereon, the instance can no longer be used. * It is important to close the manager as it also cleanup old copies of the managed files. */ public void close() { if (!open) return; open = false; if (readOnly) return; try { cleanup(); } catch (IOException e) { //Ignore and close. } if (instanceLocker != null) instanceLocker.release(); if (instanceFile != null) instanceFile.delete(); }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 684 java.io.File createTempFile( java.lang.String ) Permission: java.io.FilePermission "", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "*", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-1", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-2", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-2147483648", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-3", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-9223372036854775808", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission ".", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission ".manager", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "0", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "1", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "1.3", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "10", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "13", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "2", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "23", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "3", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "3.0.0", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "4", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "5", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "6", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "7", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "8", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "9", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "???file???", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "Eclipse", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "No message available.", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "aix", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "bin", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "bundles", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "carbon", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "false", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "fragment.xml", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "hpux", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "linux", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "macosx", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "manifests", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "motif", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "org.eclipse.osgi", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "permdata", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "photon", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "plugin.xml", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "qnx", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "solaris", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "true", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "unknown", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "win32", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "x86", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "x86_64", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File )

CODE
/** * Creates a new unique empty temporary-file in the filemanager base direcotry. The file name * must be at least 3 characters. This file can later be used to update a managed file. * * @param file the file name to create temporary file from. * @return the newly-created empty file. * @throws IOException if the file can not be created. * @see #update(String[], String[]) */ public File createTempFile(String file) throws IOException { if (readOnly) throw new IOException(EclipseAdaptorMsg.fileManager_illegalInReadOnlyMode); File tmpFile = File.createTempFile(file, ReliableFile.tmpExt, base); tmpFile.deleteOnExit(); return tmpFile; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 685 java.io.File createTempFile( java.lang.String ) Permission: java.io.FilePermission "", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "*", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-1", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-2", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-2147483648", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-3", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-9223372036854775808", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission ".", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission ".manager", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "0", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "1", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "1.3", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "10", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "13", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "2", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "23", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "3", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "3.0.0", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "4", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "5", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "6", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "7", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "8", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "9", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "???file???", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "Eclipse", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "No message available.", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "aix", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "bin", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "bundles", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "carbon", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "false", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "fragment.xml", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "hpux", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "linux", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "macosx", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "manifests", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "motif", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "org.eclipse.osgi", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "permdata", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "photon", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "plugin.xml", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "qnx", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "solaris", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "true", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "unknown", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "win32", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "x86", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "x86_64", "delete" Primordial/void java.io.File.deleteOnExit( )

CODE
/** * Creates a new unique empty temporary-file in the filemanager base direcotry. The file name * must be at least 3 characters. This file can later be used to update a managed file. * * @param file the file name to create temporary file from. * @return the newly-created empty file. * @throws IOException if the file can not be created. * @see #update(String[], String[]) */ public File createTempFile(String file) throws IOException { if (readOnly) throw new IOException(EclipseAdaptorMsg.fileManager_illegalInReadOnlyMode); File tmpFile = File.createTempFile(file, ReliableFile.tmpExt, base); tmpFile.deleteOnExit(); return tmpFile; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 619 void deleteCopies( java.lang.String, java.lang.String ) Permission: java.io.FilePermission "", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "*", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-1", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-2", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission ".", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "0", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "1", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "1.3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "10", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "13", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "2", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "23", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "4", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "5", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "6", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "7", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "8", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "9", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "???file???", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "aix", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "bin", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "bundles", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "carbon", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "false", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "hpux", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "linux", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "macosx", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "manifests", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "motif", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "photon", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "qnx", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "solaris", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "true", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "unknown", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "win32", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "x86", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/java.lang.String[] java.io.File.list( )

CODE
private void deleteCopies(String fileName, String exceptionNumber) { String notToDelete = fileName + '.' + exceptionNumber; String[] files = base.list(); if (files == null) return; for (int i = 0; i < files.length; i++) { if (files[i].startsWith(fileName + '.') && !files[i].equals(notToDelete)) //$NON-NLS-1$ new File(base, files[i]).delete(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 624 void deleteCopies( java.lang.String, java.lang.String ) Permission: java.io.FilePermission "", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "*", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-1", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-2", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-2147483648", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "-9223372036854775808", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission ".", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "0", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "1", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "1.3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "10", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "13", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "2", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "23", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "3", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "3.0.0", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "4", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "5", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "6", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "7", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "8", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "9", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "???file???", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "Eclipse", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "No message available.", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "aix", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "bin", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "bundles", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "carbon", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "false", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "fragment.xml", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "hpux", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "linux", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "macosx", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "manifests", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "motif", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "org.eclipse.osgi", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "photon", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "plugin.xml", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "qnx", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "solaris", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "true", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "unknown", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "win32", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "x86", "delete" Primordial/boolean java.io.File.delete( ) Permission: java.io.FilePermission "x86_64", "delete" Primordial/boolean java.io.File.delete( )

CODE
private void deleteCopies(String fileName, String exceptionNumber) { String notToDelete = fileName + '.' + exceptionNumber; String[] files = base.list(); if (files == null) return; for (int i = 0; i < files.length; i++) { if (files[i].startsWith(fileName + '.') && !files[i].equals(notToDelete)) //$NON-NLS-1$ new File(base, files[i]).delete(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 211 int findOldestGeneration( java.lang.String ) Permission: java.io.FilePermission "", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "*", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-1", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-2", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-2147483648", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "-9223372036854775808", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission ".", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "0", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "1", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "1.3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "10", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "13", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "2", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "23", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "3", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "3.0.0", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "4", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "5", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "6", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "7", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "8", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "9", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "???file???", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "Eclipse", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "No message available.", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "aix", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "bin", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "bundles", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "carbon", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "false", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "fragment.xml", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "hpux", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "linux", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "macosx", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "manifests", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "motif", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "org.eclipse.osgi", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "photon", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "plugin.xml", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "qnx", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "solaris", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "true", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "unknown", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "win32", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "x86", "read" Primordial/java.lang.String[] java.io.File.list( ) Permission: java.io.FilePermission "x86_64", "read" Primordial/java.lang.String[] java.io.File.list( )

CODE
/** * Find the oldest generation of a file still available on disk * @param file the file from which to obtain the oldest generation. * @return the oldest generation of the file or 0 if the file does * not exist. */ private int findOldestGeneration(String file) { String[] files = base.list(); int oldestGeneration = 0; if (files != null) { String name = file + '.'; int len = name.length(); for (int i = 0; i < files.length; i++) { if (!files[i].startsWith(name)) continue; try { int generation = Integer.parseInt(files[i].substring(len)); if (generation > oldestGeneration) oldestGeneration = generation; } catch (NumberFormatException e) { continue; } } } return oldestGeneration; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 150 java.lang.String getAbsolutePath( java.lang.String ) Permission: java.io.FilePermission "???file???", "read" Primordial/java.lang.String java.io.File.getAbsolutePath( ) Permission: java.util.PropertyPermission "user.dir", "read" Primordial/java.lang.String java.io.File.getAbsolutePath( )

CODE
private String getAbsolutePath(String file) { return new File(base, file).getAbsolutePath(); }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 143 void initializeInstanceFile( ) Permission: java.io.FilePermission "", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "*", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-1", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-2", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-2147483648", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-3", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "-9223372036854775808", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission ".", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission ".manager", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "0", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "1", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "1.3", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "10", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "13", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "2", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "23", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "3", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "3.0.0", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "4", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "5", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "6", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "7", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "8", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "9", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "???file???", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "Eclipse", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "No message available.", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "aix", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "bin", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "bundles", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "carbon", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "false", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "fragment.xml", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "hpux", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "linux", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "macosx", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "manifests", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "motif", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "org.eclipse.osgi", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "permdata", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "photon", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "plugin.xml", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "qnx", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "solaris", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "true", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "unknown", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "win32", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "x86", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File ) Permission: java.io.FilePermission "x86_64", "write" Primordial/java.io.File java.io.File.createTempFile( java.lang.String, java.lang.String, java.io.File )

CODE
private void initializeInstanceFile() throws IOException { if (instanceFile != null || readOnly) return; this.instanceFile = File.createTempFile(".tmp", ".instance", managerRoot); //$NON-NLS-1$//$NON-NLS-2$ this.instanceFile.deleteOnExit(); instanceLocker = BasicLocation.createLocker(instanceFile, lockMode); instanceLocker.lock(); }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 144 void initializeInstanceFile( ) Permission: java.io.FilePermission "", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "*", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-1", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-2", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-2147483648", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-3", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "-9223372036854775808", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission ".", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission ".manager", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "0", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "1", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "1.3", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "10", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "13", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "2", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "23", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "3", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "3.0.0", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "4", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "5", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "6", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "7", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "8", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "9", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "???file???", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "Eclipse", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "META-INF/MANIFEST.MF", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "No message available.", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "aix", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "bin", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "bundles", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "carbon", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "false", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "fragment.xml", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "hpux", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "linux", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "macosx", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "manifests", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "motif", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "org.eclipse.osgi", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "permdata", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "photon", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "plugin.xml", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "qnx", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "solaris", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "true", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "unknown", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "win32", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "x86", "delete" Primordial/void java.io.File.deleteOnExit( ) Permission: java.io.FilePermission "x86_64", "delete" Primordial/void java.io.File.deleteOnExit( )

CODE
private void initializeInstanceFile() throws IOException { if (instanceFile != null || readOnly) return; this.instanceFile = File.createTempFile(".tmp", ".instance", managerRoot); //$NON-NLS-1$//$NON-NLS-2$ this.instanceFile.deleteOnExit(); instanceLocker = BasicLocation.createLocker(instanceFile, lockMode); instanceLocker.lock(); }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 411 boolean move( java.lang.String, java.lang.String ) Permission: java.io.FilePermission "???file???", "read" Primordial/boolean java.io.File.exists( )

CODE
private boolean move(String source, String target) { File original = new File(source); File targetFile = new File(target); // its ok if the original does not exist. The table entry will capture // that fact. There is no need to put something in the filesystem. if (!original.exists() || targetFile.exists()) return false; return original.renameTo(targetFile); }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 413 boolean move( java.lang.String, java.lang.String ) Permission: java.io.FilePermission "???file???", "write" Primordial/boolean java.io.File.renameTo( java.io.File )

CODE
private boolean move(String source, String target) { File original = new File(source); File targetFile = new File(target); // its ok if the original does not exist. The table entry will capture // that fact. There is no need to put something in the filesystem. if (!original.exists() || targetFile.exists()) return false; return original.renameTo(targetFile); }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 519 void save( ) Permission: java.util.PropertyPermission "os.name", "read" Primordial/void java.util.Properties.store( java.io.OutputStream, java.lang.String )

CODE
private void save() throws IOException { if (readOnly) return; // if the table file has change on disk, update our data structures then // rewrite the file. updateTable(); Properties props = new Properties(); for (Enumeration e = table.keys(); e.hasMoreElements();) { String file = (String) e.nextElement(); Entry entry = (Entry) table.get(file); String value; if (entry.getFileType() != FILETYPE_STANDARD) { value = Integer.toString(entry.getWriteId() - 1) + ',' + //In the table we save the write number - 1, because the read number can be totally different. //$NON-NLS-1$ Integer.toString(entry.getFileType()); } else { value = Integer.toString(entry.getWriteId() - 1); //In the table we save the write number - 1, because the read number can be totally different. } props.put(file, value); } ReliableFileOutputStream fileStream = new ReliableFileOutputStream(tableFile); try { boolean error = true; try { props.store(fileStream, "safe table"); //$NON-NLS-1$ fileStream.close(); error = false; } finally { if (error) fileStream.abort(); } } catch (IOException e) { throw new IOException(EclipseAdaptorMsg.fileManager_couldNotSave); } tableStamp = ReliableFile.lastModifiedVersion(tableFile); }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 458 void updateTable( ) Permission: java.util.PropertyPermission "java.vendor.url.bug", "read" Primordial/void java.util.Properties.load( java.io.InputStream ) Permission: java.util.PropertyPermission "os.name", "read" Primordial/void java.util.Properties.load( java.io.InputStream )

CODE
private void updateTable() throws IOException { int stamp; stamp = ReliableFile.lastModifiedVersion(tableFile); if (stamp == tableStamp || stamp == -1) return; Properties diskTable = new Properties(); try { InputStream input; input = new ReliableFileInputStream(tableFile); try { diskTable.load(input); } finally { input.close(); } } catch (IOException e) { throw e; // rethrow the exception, we have nothing to add here } tableStamp = stamp; for (Enumeration e = diskTable.keys(); e.hasMoreElements();) { String file = (String) e.nextElement(); String value = diskTable.getProperty(file); if (value != null) { Entry entry = (Entry) table.get(file); // check front of value for ReliableFile int id; int fileType; int idx = value.indexOf(','); if (idx != -1) { id = Integer.parseInt(value.substring(0, idx)); fileType = Integer.parseInt(value.substring(idx + 1)); } else { id = Integer.parseInt(value); fileType = FILETYPE_STANDARD; } if (entry == null) { table.put(file, new Entry(id, id + 1, fileType)); } else { entry.setWriteId(id + 1); //don't change type } } } }
Tainted variable reference trace:

Permission Requirements:



Conclusion: