WindowsInstaller.java


current inspection = 2009-09-03 21:56:13 (id #1)


Filter Options
Annotation Kind:
pre
presumption
post
unanalyzed
test_vector


  • void addRegistryKey(String)

  • Kind Annotation Text
    prethis.step != null
    unanalyzedcall on addText
    unanalyzedcall on com.dmdirc.installer.StreamReader
    unanalyzedcall on com.dmdirc.installer.StreamReader:start
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.lang.Process:exitValue
    unanalyzedcall on java.lang.Process:getErrorStream
    unanalyzedcall on java.lang.Process:getInputStream
    unanalyzedcall on java.lang.Process:waitFor
    unanalyzedcall on java.lang.Runtime:exec
    unanalyzedcall on java.lang.Runtime:getRuntime
    unanalyzedcall on java.lang.SecurityException:getMessage
    unanalyzedcall on java.lang.Thread
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on javax.swing.SwingUtilities:invokeLater

  • com.dmdirc.installer.WindowsInstaller$1__static_init

  • Kind Annotation Text
    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 < com.dmdirc.installer.Installer$ShortcutT ype:values(...).length@94
    presumptioncom.dmdirc.installer.Installer_ShortcutType:ordinal (...)@94 >= 0
    presumptioncom.dmdirc.installer.Installer_ShortcutType:values( ...)@94 != null
    postnew int[](WindowsInstaller$1__static_init#1) num objects == 1

  • void com.dmdirc.installer.WindowsInstaller()

  • Kind Annotation Text

  • com.dmdirc.installer.WindowsInstaller__static_init

  • Kind Annotation Text

  • String defaultInstallLocation()

  • Kind Annotation Text
    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)
    postinit'ed(new CLIParser(getCLIParser#1).helpParam)
    postinit'ed(new CLIParser(getCLIParser#1).paramList)
    postinit'ed(new CLIParser(getCLIParser#1).params)
    postinit'ed(new CLIParser(getCLIParser#1).redundant)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postnew ArrayList(CLIParser#2) num objects <= 1
    postnew ArrayList(CLIParser#2) num objects == 0
    postnew ArrayList(CLIParser#3) num objects == 0
    postnew ArrayList(CLIParser#3) num objects == new ArrayList(CLIParser#2) num objects
    postnew CLIParser(getCLIParser#1) num objects == 0
    postnew CLIParser(getCLIParser#1) num objects == new ArrayList(CLIParser#2) num objects
    postnew CLIParser(getCLIParser#1).helpParam == null
    postnew CLIParser(getCLIParser#1).paramList == &amp;new ArrayList(CLIParser#2)
    postnew CLIParser(getCLIParser#1).params == &amp;new Hashtable(CLIParser#1)
    postnew CLIParser(getCLIParser#1).redundant == &amp;new ArrayList(CLIParser#3)
    postnew Hashtable(CLIParser#1) num objects == 0
    postnew Hashtable(CLIParser#1) num objects == new ArrayList(CLIParser#2) num objects
    postreturn_value != null
    unanalyzedcall on java.lang.String:indexOf
    unanalyzedcall on java.lang.String:valueOf
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.Hashtable
    unanalyzedcall on java.util.Map:containsKey
    unanalyzedcall on java.util.Map:get
    test_vectorjava.lang.String:isEmpty(...)@46: {0}, {1}
    test_vectorjava.lang.System:getenv(...)@47: Inverse{null}, Addr_Set{null}

  • void editRegistryValue(String, String, String)

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

  • void editRegistryValue(String, String, String, String)

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

  • int execAndWait(String[])

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

  • String getMenuName()

  • Kind Annotation Text
    postreturn_value == &amp;"Start menu"

  • bool isNT()

  • Kind Annotation Text
    presumptionjava.lang.System:getProperty(...)@86 != null
    postinit'ed(return_value)

  • bool isVista()

  • Kind Annotation Text
    presumptionjava.lang.System:getProperty(...)@77 != null
    postinit'ed(return_value)

  • void setupShortcut(String, Installer$ShortcutType)

  • Kind Annotation Text
    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
    preshortcutType != 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 addText
    unanalyzedcall on com.dmdirc.installer.Installer$ShortcutType :ordinal
    unanalyzedcall on com.dmdirc.installer.StreamReader
    unanalyzedcall on com.dmdirc.installer.StreamReader:start
    unanalyzedcall on editRegistryValue
    unanalyzedcall on execAndWait
    unanalyzedcall on java.io.IOException:getMessage
    unanalyzedcall on java.lang.Process:exitValue
    unanalyzedcall on java.lang.Process:getErrorStream
    unanalyzedcall on java.lang.Process:getInputStream
    unanalyzedcall on java.lang.Process:waitFor
    unanalyzedcall on java.lang.Runtime:exec
    unanalyzedcall on java.lang.Runtime:getRuntime
    unanalyzedcall on java.lang.SecurityException:getMessage
    unanalyzedcall on java.lang.String:indexOf
    unanalyzedcall on java.lang.String:isEmpty
    unanalyzedcall on java.lang.System:getProperty
    unanalyzedcall on java.lang.Thread
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:add
    unanalyzedcall on java.util.ArrayList:size
    unanalyzedcall on java.util.ArrayList:toArray
    unanalyzedcall on javax.swing.SwingUtilities:invokeLater
    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}

  • bool supportsShortcut(Installer$ShortcutType)

  • Kind Annotation Text
    pre(soft) init'ed(com.dmdirc.installer. WindowsInstaller$1__static_init.new int[](WindowsInstaller$1__static_init#1)[...])
    preshortcutType != null
    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}

  • bool validFile(String)

  • Kind Annotation Text
    prefilename != null
    postinit'ed(return_value)