Last Msg First Msg
























method com.dmdirc.installer.WindowsInstaller__static_ init










method void com.dmdirc.installer.WindowsInstaller()









  method not available - call not analyzedInfocall on void com.dmdirc.installer.Installer()











method String defaultInstallLocation()
preinit'ed(com/dmdirc/installer/cliparser/CLIParser. me)
presumptiongetCLIParser(...).params != null
presumptiongetParam(...).myValue@43 != null
postcom/dmdirc/installer/cliparser/CLIParser.me != null
postinit'ed(java.lang.String:valueOf(...)._tainted)
postinit'ed(java.lang.StringBuilder:toString(...)._ tainted)
postjava.lang.StringBuilder:toString(...)._tainted == 0
postreturn_value != null
postnew ArrayList(CLIParser#2) num objects <= 1
postnew ArrayList(CLIParser#3) num objects == new ArrayList(CLIParser#2) num objects
postnew CLIParser(getCLIParser#1) num objects == new ArrayList(CLIParser#2) num objects
postnew Hashtable(CLIParser#1) num objects == new ArrayList(CLIParser#2) num objects
postnew ArrayList(CLIParser#2) num objects == 0
postnew ArrayList(CLIParser#3) num objects == 0
postnew CLIParser(getCLIParser#1) num objects == 0
postnew CLIParser(getCLIParser#1).helpParam == null
postinit'ed(new CLIParser(getCLIParser#1).helpParam)
postnew CLIParser(getCLIParser#1).paramList == &amp;new ArrayList(CLIParser#2)
postinit'ed(new CLIParser(getCLIParser#1).paramList)
postnew CLIParser(getCLIParser#1).params == &amp;new Hashtable(CLIParser#1)
postinit'ed(new CLIParser(getCLIParser#1).params)
postnew CLIParser(getCLIParser#1).redundant == &amp;new ArrayList(CLIParser#3)
postinit'ed(new CLIParser(getCLIParser#1).redundant)
postnew Hashtable(CLIParser#1) num objects == 0
unanalyzedcall on java.lang.System:getProperty
unanalyzedcall on java.lang.String:indexOf
unanalyzedcall on java.util.Hashtable
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.lang.String:valueOf
test_vectorjava.lang.String:isEmpty(...)@46: {0}, {1}
test_vectorjava.lang.System:getenv(...)@47: Inverse{null}, Addr_Set{null}









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getParam(...) != null
Prev Msg Next Msg











method bool validFile(String)
prefilename != null
postinit'ed(return_value)










method bool isVista()
presumptionjava.lang.System:getProperty(...)@77 != null
postinit'ed(return_value)










method bool isNT()
presumptionjava.lang.System:getProperty(...)@86 != null
postinit'ed(return_value)










method com.dmdirc.installer.WindowsInstaller$1__static_ init
presumptioncom.dmdirc.installer.Installer$ShortcutType. DESKTOP != null
presumptioncom.dmdirc.installer.Installer$ShortcutType.MENU != null
presumptioncom.dmdirc.installer.Installer$ShortcutType. PROTOCOL != null
presumptioncom.dmdirc.installer.Installer$ShortcutType. QUICKLAUNCH != null
presumptioncom.dmdirc.installer.Installer$ShortcutType. UNINSTALLER != null
presumptioncom.dmdirc.installer.Installer$ShortcutType:values( ...).length@94 >= 1
presumptioncom.dmdirc.installer.Installer_ShortcutType:ordinal (...)@94 >= 0
presumptioncom.dmdirc.installer.Installer_ShortcutType:ordinal (...)@94 < com.dmdirc.installer.Installer$ShortcutT ype:values(...).length@94
presumptioncom.dmdirc.installer.Installer_ShortcutType:values( ...)@94 != null
postnew int[](WindowsInstaller$1__static_init#1) num objects == 1

method bool supportsShortcut(Installer$ShortcutType)
preshortcutType != null
pre(soft) init'ed(com.dmdirc.installer. WindowsInstaller$1__static_init.new int[](WindowsInstaller$1__static_init#1)[...])
presumptioncom.dmdirc.installer.Installer$ShortcutType:values( ...).length >= 1
presumptioncom.dmdirc.installer.Installer_ShortcutType:ordinal (...)@94 < com.dmdirc.installer.Installer$ShortcutT ype:values(...).length
presumptioncom.dmdirc.installer.Installer_ShortcutType:ordinal (...)@94 >= 0
presumptionjava.lang.System:getProperty(...)@97 != null
postinit'ed(return_value)
test_vectorcom.dmdirc.installer.WindowsInstaller$1__static_ init.new int[](WindowsInstaller$1__static_ init#1)[...]: {1}, {2..5}, {-231..0, 6..232-1}









  method not available - call not analyzedInfocall on Installer$ShortcutType[] com.dmdirc. installer.Installer$ShortcutType:values()
  method not available - call not analyzedInfocall on int com.dmdirc.installer.Installer$Shortcut Type:ordinal()
  method not available - call not analyzedInfocall on int com.dmdirc.installer.Installer$Shortcut Type:ordinal()











method String getMenuName()
postreturn_value == &amp;"Start menu"










method void addRegistryKey(String)
prethis.step != null
unanalyzedcall on addText
unanalyzedcall on java.lang.Runtime:getRuntime
unanalyzedcall on java.lang.Runtime:exec
unanalyzedcall on java.lang.Process:getInputStream
unanalyzedcall on com.dmdirc.installer.StreamReader
unanalyzedcall on com.dmdirc.installer.StreamReader:start
unanalyzedcall on java.lang.Process:getErrorStream
unanalyzedcall on java.lang.Process:waitFor
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.Process:exitValue
unanalyzedcall on java.lang.SecurityException:getMessage
unanalyzedcall on java.io.IOException:getMessage
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.lang.Thread










method void editRegistryValue(String, String, String)
predata != null
prethis.step != null
prevalue != null
unanalyzedcall on addText
unanalyzedcall on java.lang.Runtime:getRuntime
unanalyzedcall on java.lang.Runtime:exec
unanalyzedcall on java.lang.Process:getInputStream
unanalyzedcall on com.dmdirc.installer.StreamReader
unanalyzedcall on com.dmdirc.installer.StreamReader:start
unanalyzedcall on java.lang.Process:getErrorStream
unanalyzedcall on java.lang.Process:waitFor
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.Process:exitValue
unanalyzedcall on java.lang.SecurityException:getMessage
unanalyzedcall on java.io.IOException:getMessage
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.ArrayList:add
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.util.ArrayList:size
unanalyzedcall on java.util.ArrayList:toArray
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.lang.Thread










method void editRegistryValue(String, String, String, String)
predata != null
prethis.step != null
prevalue != null
presumptionjava.util.ArrayList:size(...)@169 >= 0
unanalyzedcall on addText
unanalyzedcall on java.lang.Runtime:getRuntime
unanalyzedcall on java.lang.Runtime:exec
unanalyzedcall on java.lang.Process:getInputStream
unanalyzedcall on com.dmdirc.installer.StreamReader
unanalyzedcall on com.dmdirc.installer.StreamReader:start
unanalyzedcall on java.lang.Process:getErrorStream
unanalyzedcall on java.lang.Process:waitFor
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.Process:exitValue
unanalyzedcall on java.lang.SecurityException:getMessage
unanalyzedcall on java.io.IOException:getMessage
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.lang.Thread
test_vectorjava.lang.String:isEmpty(...)@156: {0}, {1}
test_vectorjava.lang.String:isEmpty(...)@164: {1}, {0}










method int execAndWait(String[])
pre(soft) this.step != null
presumptionjava.lang.Runtime:exec(...)@180 != null
presumptionjava.lang.Runtime:getRuntime(...)@180 != null
postinit'ed(return_value)
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.lang.Thread
test_vectorjava.lang.Process:exitValue(...)@187: {0}, {-231..-1, 1..232-1}









  method not available - call not analyzedInfocall on void com.dmdirc.installer.StreamReader:star t()










  method not available - call not analyzedInfocall on void com.dmdirc.installer.StreamReader:star t()











method void setupShortcut(String, Installer$ShortcutType)
preshortcutType != null
pre(soft) init'ed(com.dmdirc.installer. WindowsInstaller$1__static_init.new int[](WindowsInstaller$1__static_init#1)[...])
pre(soft) location != null
pre(soft) this.step != null
presumptioncom.dmdirc.installer.Installer$ShortcutType:values( ...).length >= 1
presumptioncom.dmdirc.installer.Installer_ShortcutType:ordinal (...)@216 < com.dmdirc.installer.Installer$Shortcut Type:values(...).length
presumptioncom.dmdirc.installer.Installer_ShortcutType:ordinal (...)@216 >= 0
unanalyzedcall on com.dmdirc.installer.Installer$ShortcutType :ordinal
unanalyzedcall on java.lang.System:getProperty
unanalyzedcall on java.lang.String:indexOf
unanalyzedcall on addText
unanalyzedcall on execAndWait
unanalyzedcall on editRegistryValue
unanalyzedcall on java.lang.Runtime:getRuntime
unanalyzedcall on java.lang.Runtime:exec
unanalyzedcall on java.lang.Process:getInputStream
unanalyzedcall on com.dmdirc.installer.StreamReader
unanalyzedcall on com.dmdirc.installer.StreamReader:start
unanalyzedcall on java.lang.Process:getErrorStream
unanalyzedcall on java.lang.Process:waitFor
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.Process:exitValue
unanalyzedcall on java.lang.SecurityException:getMessage
unanalyzedcall on java.io.IOException:getMessage
unanalyzedcall on java.util.ArrayList
unanalyzedcall on java.util.ArrayList:add
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.util.ArrayList:size
unanalyzedcall on java.util.ArrayList:toArray
unanalyzedcall on javax.swing.SwingUtilities:invokeLater
unanalyzedcall on java.lang.Thread
test_vectorcom.dmdirc.installer.WindowsInstaller$1__static_ init.new int[](WindowsInstaller$1__static_ init#1)[...]: {1}, {2}, {3}, {4}, {5}, {-231..0, 6..232-1}
test_vectorjava.io.File:exists(...)@212: {0}, {1}
test_vectorjava.io.File:exists(...)@301: {1}, {0}
test_vectorjava.io.File:exists(...)@307: {0}, {1}
test_vectorjava.lang.String:length(...)@293: {1.. 232-1}, {0}









Prev Msg Next Msg
  unused assignment
Low Prob.
Unused assignment into filename
Prev Msg Next Msg










  method not available - call not analyzedInfocall on int com.dmdirc.installer.Installer$Shortcut Type:ordinal()










Prev Msg Next Msg
  unused assignment
Low Prob.
Unused assignment into key
Prev Msg Next Msg