Permission Analysis Report


Analysis of: org.eclipse.osgi

Detail


Class: org.eclipse.core.runtime.adaptor.EclipseLog (Application)
DoPrivileged location: Line# 67 void <clinit>(  )
   Permission: java.util.PropertyPermission "line.separator", "read"
      Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )


CODE
/** * The FrameworkLog implementation for Eclipse. *

* Clients may extend this class. *

* @since 3.1 */ public class EclipseLog implements FrameworkLog { private static final String PASSWORD = "-password"; //$NON-NLS-1$ /** The session tag */ protected static final String SESSION = "!SESSION"; //$NON-NLS-1$ /** The entry tag */ protected static final String ENTRY = "!ENTRY"; //$NON-NLS-1$ /** The sub-entry tag */ protected static final String SUBENTRY = "!SUBENTRY"; //$NON-NLS-1$ /** The message tag */ protected static final String MESSAGE = "!MESSAGE"; //$NON-NLS-1$ /** The stacktrace tag */ protected static final String STACK = "!STACK"; //$NON-NLS-1$ /** The line separator used in the log output */ protected static final String LINE_SEPARATOR; /** The tab character used in the log output */ protected static final String TAB_STRING = "\t"; //$NON-NLS-1$ //Constants for rotating log file /** The default size a log file can grow before it is rotated */ public static final int DEFAULT_LOG_SIZE = 1000; /** The default number of backup log files */ public static final int DEFAULT_LOG_FILES = 10; /** The minimum size limit for log rotation */ public static final int LOG_SIZE_MIN = 10; /** The system property used to specify size a log file can grow before it is rotated */ public static final String PROP_LOG_SIZE_MAX = "eclipse.log.size.max"; //$NON-NLS-1$ /** The system property used to specify the maximim number of backup log files to use */ public static final String PROP_LOG_FILE_MAX = "eclipse.log.backup.max"; //$NON-NLS-1$ /** The extension used for log files */ public static final String LOG_EXT = ".log"; //$NON-NLS-1$ /** The extension markup to use for backup log files*/ public static final String BACKUP_MARK = ".bak_"; //$NON-NLS-1$ static { String s = System.getProperty("line.separator"); //$NON-NLS-1$ LINE_SEPARATOR = s == null ? "\n" : s; //$NON-NLS-1$ } private static final SecureAction secur ...
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 555 boolean checkLogFileSize( ) Permission: java.io.FilePermission "???file???", "read" Primordial/long java.io.File.length( )

CODE
/** * Checks the log file size. If the log file size reaches the limit then the log * is rotated * @return false if an error occured trying to rotate the log */ protected boolean checkLogFileSize() { if (maxLogSize == 0) return true; // no size limitation. boolean isBackupOK = true; if (outFile != null) { if ((outFile.length() >> 10) > maxLogSize) { // Use KB as file size unit. String logFilename = outFile.getAbsolutePath(); // Delete old backup file that will be replaced. String backupFilename = ""; //$NON-NLS-1$ if (logFilename.toLowerCase().endsWith(LOG_EXT)) { backupFilename = logFilename.substring(0, logFilename.length() - LOG_EXT.length()) + BACKUP_MARK + backupIdx + LOG_EXT; } else { backupFilename = logFilename + BACKUP_MARK + backupIdx; //$NON-NLS-1$ } File backupFile = new File(backupFilename); if (backupFile.exists()) { if (!backupFile.delete()) { System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$ if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) { System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$ } else { System.err.println("And we also cannot rename it!"); //$NON-NLS-1$ isBackupOK = false; } } } // Rename current log file to backup one. boolean isRenameOK = outFile.renameTo(backupFile); if (!isRenameOK) { System.err.println("Error when trying to rename log file to backup one."); //$NON-NLS-1$ isBackupOK = false; } File newFile = new File(logFilename); setOutput(newFile, null, false); // Write a new SESSION header to new log file. openFile(); try { writeSession(); writeln(); writeln("This is a continuation of log file " + backupFile.getAbsolutePath());//$NON-NLS-1$ writeln("Created Time: " + getDate(new Date(System.currentTimeMillis()))); //$NON-NLS-1$ writer.flush(); } catch (IOException ioe) { ioe.printStackTrace(System.err); } closeFile(); backupIdx = (++backupIdx) % maxLogFiles; } } return isBackupOK; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 556 boolean checkLogFileSize( ) 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
/** * Checks the log file size. If the log file size reaches the limit then the log * is rotated * @return false if an error occured trying to rotate the log */ protected boolean checkLogFileSize() { if (maxLogSize == 0) return true; // no size limitation. boolean isBackupOK = true; if (outFile != null) { if ((outFile.length() >> 10) > maxLogSize) { // Use KB as file size unit. String logFilename = outFile.getAbsolutePath(); // Delete old backup file that will be replaced. String backupFilename = ""; //$NON-NLS-1$ if (logFilename.toLowerCase().endsWith(LOG_EXT)) { backupFilename = logFilename.substring(0, logFilename.length() - LOG_EXT.length()) + BACKUP_MARK + backupIdx + LOG_EXT; } else { backupFilename = logFilename + BACKUP_MARK + backupIdx; //$NON-NLS-1$ } File backupFile = new File(backupFilename); if (backupFile.exists()) { if (!backupFile.delete()) { System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$ if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) { System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$ } else { System.err.println("And we also cannot rename it!"); //$NON-NLS-1$ isBackupOK = false; } } } // Rename current log file to backup one. boolean isRenameOK = outFile.renameTo(backupFile); if (!isRenameOK) { System.err.println("Error when trying to rename log file to backup one."); //$NON-NLS-1$ isBackupOK = false; } File newFile = new File(logFilename); setOutput(newFile, null, false); // Write a new SESSION header to new log file. openFile(); try { writeSession(); writeln(); writeln("This is a continuation of log file " + backupFile.getAbsolutePath());//$NON-NLS-1$ writeln("Created Time: " + getDate(new Date(System.currentTimeMillis()))); //$NON-NLS-1$ writer.flush(); } catch (IOException ioe) { ioe.printStackTrace(System.err); } closeFile(); backupIdx = (++backupIdx) % maxLogFiles; } } return isBackupOK; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 566 boolean checkLogFileSize( ) Permission: java.io.FilePermission "???file???", "read" Primordial/boolean java.io.File.exists( )

CODE
/** * Checks the log file size. If the log file size reaches the limit then the log * is rotated * @return false if an error occured trying to rotate the log */ protected boolean checkLogFileSize() { if (maxLogSize == 0) return true; // no size limitation. boolean isBackupOK = true; if (outFile != null) { if ((outFile.length() >> 10) > maxLogSize) { // Use KB as file size unit. String logFilename = outFile.getAbsolutePath(); // Delete old backup file that will be replaced. String backupFilename = ""; //$NON-NLS-1$ if (logFilename.toLowerCase().endsWith(LOG_EXT)) { backupFilename = logFilename.substring(0, logFilename.length() - LOG_EXT.length()) + BACKUP_MARK + backupIdx + LOG_EXT; } else { backupFilename = logFilename + BACKUP_MARK + backupIdx; //$NON-NLS-1$ } File backupFile = new File(backupFilename); if (backupFile.exists()) { if (!backupFile.delete()) { System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$ if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) { System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$ } else { System.err.println("And we also cannot rename it!"); //$NON-NLS-1$ isBackupOK = false; } } } // Rename current log file to backup one. boolean isRenameOK = outFile.renameTo(backupFile); if (!isRenameOK) { System.err.println("Error when trying to rename log file to backup one."); //$NON-NLS-1$ isBackupOK = false; } File newFile = new File(logFilename); setOutput(newFile, null, false); // Write a new SESSION header to new log file. openFile(); try { writeSession(); writeln(); writeln("This is a continuation of log file " + backupFile.getAbsolutePath());//$NON-NLS-1$ writeln("Created Time: " + getDate(new Date(System.currentTimeMillis()))); //$NON-NLS-1$ writer.flush(); } catch (IOException ioe) { ioe.printStackTrace(System.err); } closeFile(); backupIdx = (++backupIdx) % maxLogFiles; } } return isBackupOK; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 567 boolean checkLogFileSize( ) Permission: java.io.FilePermission "???file???", "delete" Primordial/boolean java.io.File.delete( )

CODE
/** * Checks the log file size. If the log file size reaches the limit then the log * is rotated * @return false if an error occured trying to rotate the log */ protected boolean checkLogFileSize() { if (maxLogSize == 0) return true; // no size limitation. boolean isBackupOK = true; if (outFile != null) { if ((outFile.length() >> 10) > maxLogSize) { // Use KB as file size unit. String logFilename = outFile.getAbsolutePath(); // Delete old backup file that will be replaced. String backupFilename = ""; //$NON-NLS-1$ if (logFilename.toLowerCase().endsWith(LOG_EXT)) { backupFilename = logFilename.substring(0, logFilename.length() - LOG_EXT.length()) + BACKUP_MARK + backupIdx + LOG_EXT; } else { backupFilename = logFilename + BACKUP_MARK + backupIdx; //$NON-NLS-1$ } File backupFile = new File(backupFilename); if (backupFile.exists()) { if (!backupFile.delete()) { System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$ if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) { System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$ } else { System.err.println("And we also cannot rename it!"); //$NON-NLS-1$ isBackupOK = false; } } } // Rename current log file to backup one. boolean isRenameOK = outFile.renameTo(backupFile); if (!isRenameOK) { System.err.println("Error when trying to rename log file to backup one."); //$NON-NLS-1$ isBackupOK = false; } File newFile = new File(logFilename); setOutput(newFile, null, false); // Write a new SESSION header to new log file. openFile(); try { writeSession(); writeln(); writeln("This is a continuation of log file " + backupFile.getAbsolutePath());//$NON-NLS-1$ writeln("Created Time: " + getDate(new Date(System.currentTimeMillis()))); //$NON-NLS-1$ writer.flush(); } catch (IOException ioe) { ioe.printStackTrace(System.err); } closeFile(); backupIdx = (++backupIdx) % maxLogFiles; } } return isBackupOK; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


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

CODE
/** * Checks the log file size. If the log file size reaches the limit then the log * is rotated * @return false if an error occured trying to rotate the log */ protected boolean checkLogFileSize() { if (maxLogSize == 0) return true; // no size limitation. boolean isBackupOK = true; if (outFile != null) { if ((outFile.length() >> 10) > maxLogSize) { // Use KB as file size unit. String logFilename = outFile.getAbsolutePath(); // Delete old backup file that will be replaced. String backupFilename = ""; //$NON-NLS-1$ if (logFilename.toLowerCase().endsWith(LOG_EXT)) { backupFilename = logFilename.substring(0, logFilename.length() - LOG_EXT.length()) + BACKUP_MARK + backupIdx + LOG_EXT; } else { backupFilename = logFilename + BACKUP_MARK + backupIdx; //$NON-NLS-1$ } File backupFile = new File(backupFilename); if (backupFile.exists()) { if (!backupFile.delete()) { System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$ if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) { System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$ } else { System.err.println("And we also cannot rename it!"); //$NON-NLS-1$ isBackupOK = false; } } } // Rename current log file to backup one. boolean isRenameOK = outFile.renameTo(backupFile); if (!isRenameOK) { System.err.println("Error when trying to rename log file to backup one."); //$NON-NLS-1$ isBackupOK = false; } File newFile = new File(logFilename); setOutput(newFile, null, false); // Write a new SESSION header to new log file. openFile(); try { writeSession(); writeln(); writeln("This is a continuation of log file " + backupFile.getAbsolutePath());//$NON-NLS-1$ writeln("Created Time: " + getDate(new Date(System.currentTimeMillis()))); //$NON-NLS-1$ writer.flush(); } catch (IOException ioe) { ioe.printStackTrace(System.err); } closeFile(); backupIdx = (++backupIdx) % maxLogFiles; } } return isBackupOK; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 579 boolean checkLogFileSize( ) Permission: java.io.FilePermission "???file???", "write" Primordial/boolean java.io.File.renameTo( java.io.File )

CODE
/** * Checks the log file size. If the log file size reaches the limit then the log * is rotated * @return false if an error occured trying to rotate the log */ protected boolean checkLogFileSize() { if (maxLogSize == 0) return true; // no size limitation. boolean isBackupOK = true; if (outFile != null) { if ((outFile.length() >> 10) > maxLogSize) { // Use KB as file size unit. String logFilename = outFile.getAbsolutePath(); // Delete old backup file that will be replaced. String backupFilename = ""; //$NON-NLS-1$ if (logFilename.toLowerCase().endsWith(LOG_EXT)) { backupFilename = logFilename.substring(0, logFilename.length() - LOG_EXT.length()) + BACKUP_MARK + backupIdx + LOG_EXT; } else { backupFilename = logFilename + BACKUP_MARK + backupIdx; //$NON-NLS-1$ } File backupFile = new File(backupFilename); if (backupFile.exists()) { if (!backupFile.delete()) { System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$ if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) { System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$ } else { System.err.println("And we also cannot rename it!"); //$NON-NLS-1$ isBackupOK = false; } } } // Rename current log file to backup one. boolean isRenameOK = outFile.renameTo(backupFile); if (!isRenameOK) { System.err.println("Error when trying to rename log file to backup one."); //$NON-NLS-1$ isBackupOK = false; } File newFile = new File(logFilename); setOutput(newFile, null, false); // Write a new SESSION header to new log file. openFile(); try { writeSession(); writeln(); writeln("This is a continuation of log file " + backupFile.getAbsolutePath());//$NON-NLS-1$ writeln("Created Time: " + getDate(new Date(System.currentTimeMillis()))); //$NON-NLS-1$ writer.flush(); } catch (IOException ioe) { ioe.printStackTrace(System.err); } closeFile(); backupIdx = (++backupIdx) % maxLogFiles; } } return isBackupOK; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 592 boolean checkLogFileSize( ) 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
/** * Checks the log file size. If the log file size reaches the limit then the log * is rotated * @return false if an error occured trying to rotate the log */ protected boolean checkLogFileSize() { if (maxLogSize == 0) return true; // no size limitation. boolean isBackupOK = true; if (outFile != null) { if ((outFile.length() >> 10) > maxLogSize) { // Use KB as file size unit. String logFilename = outFile.getAbsolutePath(); // Delete old backup file that will be replaced. String backupFilename = ""; //$NON-NLS-1$ if (logFilename.toLowerCase().endsWith(LOG_EXT)) { backupFilename = logFilename.substring(0, logFilename.length() - LOG_EXT.length()) + BACKUP_MARK + backupIdx + LOG_EXT; } else { backupFilename = logFilename + BACKUP_MARK + backupIdx; //$NON-NLS-1$ } File backupFile = new File(backupFilename); if (backupFile.exists()) { if (!backupFile.delete()) { System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$ if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) { System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$ } else { System.err.println("And we also cannot rename it!"); //$NON-NLS-1$ isBackupOK = false; } } } // Rename current log file to backup one. boolean isRenameOK = outFile.renameTo(backupFile); if (!isRenameOK) { System.err.println("Error when trying to rename log file to backup one."); //$NON-NLS-1$ isBackupOK = false; } File newFile = new File(logFilename); setOutput(newFile, null, false); // Write a new SESSION header to new log file. openFile(); try { writeSession(); writeln(); writeln("This is a continuation of log file " + backupFile.getAbsolutePath());//$NON-NLS-1$ writeln("Created Time: " + getDate(new Date(System.currentTimeMillis()))); //$NON-NLS-1$ writer.flush(); } catch (IOException ioe) { ioe.printStackTrace(System.err); } closeFile(); backupIdx = (++backupIdx) % maxLogFiles; } } return isBackupOK; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 594 boolean checkLogFileSize( ) Permission: java.util.PropertyPermission "os.name", "read" Primordial/void java.io.BufferedWriter.flush( )

CODE
/** * Checks the log file size. If the log file size reaches the limit then the log * is rotated * @return false if an error occured trying to rotate the log */ protected boolean checkLogFileSize() { if (maxLogSize == 0) return true; // no size limitation. boolean isBackupOK = true; if (outFile != null) { if ((outFile.length() >> 10) > maxLogSize) { // Use KB as file size unit. String logFilename = outFile.getAbsolutePath(); // Delete old backup file that will be replaced. String backupFilename = ""; //$NON-NLS-1$ if (logFilename.toLowerCase().endsWith(LOG_EXT)) { backupFilename = logFilename.substring(0, logFilename.length() - LOG_EXT.length()) + BACKUP_MARK + backupIdx + LOG_EXT; } else { backupFilename = logFilename + BACKUP_MARK + backupIdx; //$NON-NLS-1$ } File backupFile = new File(backupFilename); if (backupFile.exists()) { if (!backupFile.delete()) { System.err.println("Error when trying to delete old log file: " + backupFile.getName());//$NON-NLS-1$ if (backupFile.renameTo(new File(backupFile.getAbsolutePath() + System.currentTimeMillis()))) { System.err.println("So we rename it to filename: " + backupFile.getName()); //$NON-NLS-1$ } else { System.err.println("And we also cannot rename it!"); //$NON-NLS-1$ isBackupOK = false; } } } // Rename current log file to backup one. boolean isRenameOK = outFile.renameTo(backupFile); if (!isRenameOK) { System.err.println("Error when trying to rename log file to backup one."); //$NON-NLS-1$ isBackupOK = false; } File newFile = new File(logFilename); setOutput(newFile, null, false); // Write a new SESSION header to new log file. openFile(); try { writeSession(); writeln(); writeln("This is a continuation of log file " + backupFile.getAbsolutePath());//$NON-NLS-1$ writeln("Created Time: " + getDate(new Date(System.currentTimeMillis()))); //$NON-NLS-1$ writer.flush(); } catch (IOException ioe) { ioe.printStackTrace(System.err); } closeFile(); backupIdx = (++backupIdx) % maxLogFiles; } } return isBackupOK; }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


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

CODE
public void close() { try { if (writer != null) { Writer tmpWriter = writer; writer = null; tmpWriter.close(); } } catch (IOException e) { e.printStackTrace(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


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

CODE
/** * If a File is used to log messages to then the writer is closed. */ protected void closeFile() { if (outFile != null) { if (writer != null) { try { writer.close(); } catch (IOException e) { // we cannot log here; just print the stacktrace. e.printStackTrace(); } writer = null; } } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 375 void copyReader( java.io.Reader, java.io.Writer ) Permission: java.util.PropertyPermission "java.vendor.url.bug", "read" Primordial/int java.io.InputStreamReader.read( char[], int, int ) Permission: java.util.PropertyPermission "os.name", "read" Primordial/int java.io.InputStreamReader.read( char[], int, int )

CODE
private void copyReader(Reader reader, Writer aWriter) throws IOException { char buffer[] = new char[1024]; int count; while ((count = reader.read(buffer, 0, buffer.length)) > 0) { aWriter.write(buffer, 0, count); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 376 void copyReader( java.io.Reader, java.io.Writer ) Permission: java.util.PropertyPermission "os.name", "read" Primordial/void java.io.BufferedWriter.write( char[], int, int )

CODE
private void copyReader(Reader reader, Writer aWriter) throws IOException { char buffer[] = new char[1024]; int count; while ((count = reader.read(buffer, 0, buffer.length)) > 0) { aWriter.write(buffer, 0, count); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 162 java.lang.String getSessionTimestamp( ) Permission: java.util.PropertyPermission "eclipse.startTime", "read" Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )

CODE
/** * Returns the session timestamp. This is the time the platform was started * @return the session timestamp */ protected String getSessionTimestamp() { // Main should have set the session start-up timestamp so return that. // Return the "now" time if not available. String ts = System.getProperty("eclipse.startTime"); //$NON-NLS-1$ if (ts != null) { try { return getDate(new Date(Long.parseLong(ts))); } catch (NumberFormatException e) { // fall through and use the timestamp from right now } } return getDate(new Date()); }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 287 void log( org.eclipse.osgi.framework.log.FrameworkLogEntry ) Permission: java.util.PropertyPermission "os.name", "read" Primordial/void java.io.BufferedWriter.flush( )

CODE
public synchronized void log(FrameworkLogEntry logEntry) { if (logEntry == null) return; try { checkLogFileSize(); openFile(); if (newSession) { writeSession(); newSession = false; } writeLog(0, logEntry); writer.flush(); } catch (Exception e) { // any exceptions during logging should be caught System.err.println("An exception occurred while writing to the platform log:");//$NON-NLS-1$ e.printStackTrace(System.err); System.err.println("Logging to the console instead.");//$NON-NLS-1$ //we failed to write, so dump log entry to console instead try { writer = logForStream(System.err); writeLog(0, logEntry); writer.flush(); } catch (Exception e2) { System.err.println("An exception occurred while logging to the console:");//$NON-NLS-1$ e2.printStackTrace(System.err); } } finally { closeFile(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 297 void log( org.eclipse.osgi.framework.log.FrameworkLogEntry ) Permission: java.util.PropertyPermission "os.name", "read" Primordial/void java.io.BufferedWriter.flush( )

CODE
public synchronized void log(FrameworkLogEntry logEntry) { if (logEntry == null) return; try { checkLogFileSize(); openFile(); if (newSession) { writeSession(); newSession = false; } writeLog(0, logEntry); writer.flush(); } catch (Exception e) { // any exceptions during logging should be caught System.err.println("An exception occurred while writing to the platform log:");//$NON-NLS-1$ e.printStackTrace(System.err); System.err.println("Logging to the console instead.");//$NON-NLS-1$ //we failed to write, so dump log entry to console instead try { writer = logForStream(System.err); writeLog(0, logEntry); writer.flush(); } catch (Exception e2) { System.err.println("An exception occurred while logging to the console:");//$NON-NLS-1$ e2.printStackTrace(System.err); } } finally { closeFile(); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 318 void setFile( java.io.File, boolean ) Permission: java.util.PropertyPermission "*", "read,write" Primordial/java.util.Properties java.lang.System.getProperties( )

CODE
public synchronized void setFile(File newFile, boolean append) throws IOException { if (newFile != null && !newFile.equals(this.outFile)) { // If it's a new file, then reset. readLogProperties(); backupIdx = 0; } setOutput(newFile, null, append); System.getProperties().put(EclipseStarter.PROP_LOGFILE, newFile.getAbsolutePath()); }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


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

CODE
private void setOutput(File newOutFile, Writer newWriter, boolean append) { if (newOutFile == null || !newOutFile.equals(this.outFile)) { if (this.writer != null) { try { this.writer.close(); } catch (IOException e) { e.printStackTrace(); } this.writer = null; } // Append old outFile to newWriter. We only attempt to do this // if the current Writer is backed by a File and this is not // a new session. File oldOutFile = this.outFile; this.outFile = newOutFile; this.writer = newWriter; boolean copyFailed = false; if (append && oldOutFile != null && oldOutFile.isFile()) { Reader fileIn = null; try { openFile(); fileIn = new InputStreamReader(secureAction.getFileInputStream(oldOutFile), "UTF-8"); //$NON-NLS-1$ copyReader(fileIn, this.writer); } catch (IOException e) { copyFailed = true; e.printStackTrace(); } finally { if (fileIn != null) { try { fileIn.close(); } catch (IOException e) { e.printStackTrace(); } // delete the old file if copying didn't fail if (!copyFailed) oldOutFile.delete(); } closeFile(); } } } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 346 void setOutput( java.io.File, java.io.Writer, boolean ) Permission: java.io.FilePermission "???file???", "read" Primordial/boolean java.io.File.isFile( )

CODE
private void setOutput(File newOutFile, Writer newWriter, boolean append) { if (newOutFile == null || !newOutFile.equals(this.outFile)) { if (this.writer != null) { try { this.writer.close(); } catch (IOException e) { e.printStackTrace(); } this.writer = null; } // Append old outFile to newWriter. We only attempt to do this // if the current Writer is backed by a File and this is not // a new session. File oldOutFile = this.outFile; this.outFile = newOutFile; this.writer = newWriter; boolean copyFailed = false; if (append && oldOutFile != null && oldOutFile.isFile()) { Reader fileIn = null; try { openFile(); fileIn = new InputStreamReader(secureAction.getFileInputStream(oldOutFile), "UTF-8"); //$NON-NLS-1$ copyReader(fileIn, this.writer); } catch (IOException e) { copyFailed = true; e.printStackTrace(); } finally { if (fileIn != null) { try { fileIn.close(); } catch (IOException e) { e.printStackTrace(); } // delete the old file if copying didn't fail if (!copyFailed) oldOutFile.delete(); } closeFile(); } } } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 364 void setOutput( java.io.File, java.io.Writer, boolean ) Permission: java.io.FilePermission "???file???", "delete" Primordial/boolean java.io.File.delete( )

CODE
private void setOutput(File newOutFile, Writer newWriter, boolean append) { if (newOutFile == null || !newOutFile.equals(this.outFile)) { if (this.writer != null) { try { this.writer.close(); } catch (IOException e) { e.printStackTrace(); } this.writer = null; } // Append old outFile to newWriter. We only attempt to do this // if the current Writer is backed by a File and this is not // a new session. File oldOutFile = this.outFile; this.outFile = newOutFile; this.writer = newWriter; boolean copyFailed = false; if (append && oldOutFile != null && oldOutFile.isFile()) { Reader fileIn = null; try { openFile(); fileIn = new InputStreamReader(secureAction.getFileInputStream(oldOutFile), "UTF-8"); //$NON-NLS-1$ copyReader(fileIn, this.writer); } catch (IOException e) { copyFailed = true; e.printStackTrace(); } finally { if (fileIn != null) { try { fileIn.close(); } catch (IOException e) { e.printStackTrace(); } // delete the old file if copying didn't fail if (!copyFailed) oldOutFile.delete(); } closeFile(); } } } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 512 void write( java.lang.String ) Permission: java.util.PropertyPermission "os.name", "read" Primordial/void java.io.Writer.write( java.lang.String )

CODE
/** * Writes the given message to the log. * @param message the message * @throws IOException if any error occurs writing to the log */ protected void write(String message) throws IOException { if (message != null) { writer.write(message); if (consoleLog) System.out.print(message); } }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 190 void writeSession( ) Permission: java.util.PropertyPermission "eclipse.buildId", "read" Primordial/java.lang.String java.lang.System.getProperty( java.lang.String, java.lang.String )

CODE
/** * Writes the session * @throws IOException if an error occurs writing to the log */ protected void writeSession() throws IOException { write(SESSION); writeSpace(); String date = getSessionTimestamp(); write(date); writeSpace(); for (int i = SESSION.length() + date.length(); i < 78; i++) { write("-"); //$NON-NLS-1$ } writeln(); // Write out certain values found in System.getProperties() try { String key = "eclipse.buildId"; //$NON-NLS-1$ String value = System.getProperty(key, "unknown"); //$NON-NLS-1$ writeln(key + "=" + value); //$NON-NLS-1$ key = "java.fullversion"; //$NON-NLS-1$ value = System.getProperty(key); if (value == null) { key = "java.version"; //$NON-NLS-1$ value = System.getProperty(key); writeln(key + "=" + value); //$NON-NLS-1$ key = "java.vendor"; //$NON-NLS-1$ value = System.getProperty(key); writeln(key + "=" + value); //$NON-NLS-1$ } else { writeln(key + "=" + value); //$NON-NLS-1$ } } catch (Exception e) { // If we're not allowed to get the values of these properties // then just skip over them. } // The Bootloader has some information that we might be interested in. write("BootLoader constants: OS=" + EclipseEnvironmentInfo.getDefault().getOS()); //$NON-NLS-1$ write(", ARCH=" + EclipseEnvironmentInfo.getDefault().getOSArch()); //$NON-NLS-1$ write(", WS=" + EclipseEnvironmentInfo.getDefault().getWS()); //$NON-NLS-1$ writeln(", NL=" + EclipseEnvironmentInfo.getDefault().getNL()); //$NON-NLS-1$ // Add the command-line arguments used to invoke the platform // XXX: this includes runtime-private arguments - should we do that? writeArgs("Framework arguments: ", EclipseEnvironmentInfo.getDefault().getNonFrameworkArgs()); //$NON-NLS-1$ writeArgs("Command-line arguments: ", EclipseEnvironmentInfo.getDefault().getCommandLineArgs()); //$NON-NLS-1$ }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 194 void writeSession( ) Permission: java.util.PropertyPermission "java.fullversion", "read" Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )

CODE
/** * Writes the session * @throws IOException if an error occurs writing to the log */ protected void writeSession() throws IOException { write(SESSION); writeSpace(); String date = getSessionTimestamp(); write(date); writeSpace(); for (int i = SESSION.length() + date.length(); i < 78; i++) { write("-"); //$NON-NLS-1$ } writeln(); // Write out certain values found in System.getProperties() try { String key = "eclipse.buildId"; //$NON-NLS-1$ String value = System.getProperty(key, "unknown"); //$NON-NLS-1$ writeln(key + "=" + value); //$NON-NLS-1$ key = "java.fullversion"; //$NON-NLS-1$ value = System.getProperty(key); if (value == null) { key = "java.version"; //$NON-NLS-1$ value = System.getProperty(key); writeln(key + "=" + value); //$NON-NLS-1$ key = "java.vendor"; //$NON-NLS-1$ value = System.getProperty(key); writeln(key + "=" + value); //$NON-NLS-1$ } else { writeln(key + "=" + value); //$NON-NLS-1$ } } catch (Exception e) { // If we're not allowed to get the values of these properties // then just skip over them. } // The Bootloader has some information that we might be interested in. write("BootLoader constants: OS=" + EclipseEnvironmentInfo.getDefault().getOS()); //$NON-NLS-1$ write(", ARCH=" + EclipseEnvironmentInfo.getDefault().getOSArch()); //$NON-NLS-1$ write(", WS=" + EclipseEnvironmentInfo.getDefault().getWS()); //$NON-NLS-1$ writeln(", NL=" + EclipseEnvironmentInfo.getDefault().getNL()); //$NON-NLS-1$ // Add the command-line arguments used to invoke the platform // XXX: this includes runtime-private arguments - should we do that? writeArgs("Framework arguments: ", EclipseEnvironmentInfo.getDefault().getNonFrameworkArgs()); //$NON-NLS-1$ writeArgs("Command-line arguments: ", EclipseEnvironmentInfo.getDefault().getCommandLineArgs()); //$NON-NLS-1$ }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 197 void writeSession( ) Permission: java.util.PropertyPermission "java.version", "read" Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )

CODE
/** * Writes the session * @throws IOException if an error occurs writing to the log */ protected void writeSession() throws IOException { write(SESSION); writeSpace(); String date = getSessionTimestamp(); write(date); writeSpace(); for (int i = SESSION.length() + date.length(); i < 78; i++) { write("-"); //$NON-NLS-1$ } writeln(); // Write out certain values found in System.getProperties() try { String key = "eclipse.buildId"; //$NON-NLS-1$ String value = System.getProperty(key, "unknown"); //$NON-NLS-1$ writeln(key + "=" + value); //$NON-NLS-1$ key = "java.fullversion"; //$NON-NLS-1$ value = System.getProperty(key); if (value == null) { key = "java.version"; //$NON-NLS-1$ value = System.getProperty(key); writeln(key + "=" + value); //$NON-NLS-1$ key = "java.vendor"; //$NON-NLS-1$ value = System.getProperty(key); writeln(key + "=" + value); //$NON-NLS-1$ } else { writeln(key + "=" + value); //$NON-NLS-1$ } } catch (Exception e) { // If we're not allowed to get the values of these properties // then just skip over them. } // The Bootloader has some information that we might be interested in. write("BootLoader constants: OS=" + EclipseEnvironmentInfo.getDefault().getOS()); //$NON-NLS-1$ write(", ARCH=" + EclipseEnvironmentInfo.getDefault().getOSArch()); //$NON-NLS-1$ write(", WS=" + EclipseEnvironmentInfo.getDefault().getWS()); //$NON-NLS-1$ writeln(", NL=" + EclipseEnvironmentInfo.getDefault().getNL()); //$NON-NLS-1$ // Add the command-line arguments used to invoke the platform // XXX: this includes runtime-private arguments - should we do that? writeArgs("Framework arguments: ", EclipseEnvironmentInfo.getDefault().getNonFrameworkArgs()); //$NON-NLS-1$ writeArgs("Command-line arguments: ", EclipseEnvironmentInfo.getDefault().getCommandLineArgs()); //$NON-NLS-1$ }
Tainted variable reference trace:

Permission Requirements:



Conclusion:


DoPrivileged location: Line# 200 void writeSession( ) Permission: java.util.PropertyPermission "java.vendor", "read" Primordial/java.lang.String java.lang.System.getProperty( java.lang.String )

CODE
/** * Writes the session * @throws IOException if an error occurs writing to the log */ protected void writeSession() throws IOException { write(SESSION); writeSpace(); String date = getSessionTimestamp(); write(date); writeSpace(); for (int i = SESSION.length() + date.length(); i < 78; i++) { write("-"); //$NON-NLS-1$ } writeln(); // Write out certain values found in System.getProperties() try { String key = "eclipse.buildId"; //$NON-NLS-1$ String value = System.getProperty(key, "unknown"); //$NON-NLS-1$ writeln(key + "=" + value); //$NON-NLS-1$ key = "java.fullversion"; //$NON-NLS-1$ value = System.getProperty(key); if (value == null) { key = "java.version"; //$NON-NLS-1$ value = System.getProperty(key); writeln(key + "=" + value); //$NON-NLS-1$ key = "java.vendor"; //$NON-NLS-1$ value = System.getProperty(key); writeln(key + "=" + value); //$NON-NLS-1$ } else { writeln(key + "=" + value); //$NON-NLS-1$ } } catch (Exception e) { // If we're not allowed to get the values of these properties // then just skip over them. } // The Bootloader has some information that we might be interested in. write("BootLoader constants: OS=" + EclipseEnvironmentInfo.getDefault().getOS()); //$NON-NLS-1$ write(", ARCH=" + EclipseEnvironmentInfo.getDefault().getOSArch()); //$NON-NLS-1$ write(", WS=" + EclipseEnvironmentInfo.getDefault().getWS()); //$NON-NLS-1$ writeln(", NL=" + EclipseEnvironmentInfo.getDefault().getNL()); //$NON-NLS-1$ // Add the command-line arguments used to invoke the platform // XXX: this includes runtime-private arguments - should we do that? writeArgs("Framework arguments: ", EclipseEnvironmentInfo.getDefault().getNonFrameworkArgs()); //$NON-NLS-1$ writeArgs("Command-line arguments: ", EclipseEnvironmentInfo.getDefault().getCommandLineArgs()); //$NON-NLS-1$ }
Tainted variable reference trace:

Permission Requirements:



Conclusion: