Last Msg First Msg
























method com.dmdirc.installer.Main__static_init
preinit'ed(com/dmdirc/installer/cliparser/CLIParser. me)
postcli == One-of{old com/dmdirc/installer/cliparser/CL IParser.me, &new CLIParser(getCLIParser#1)}
postcli != null
postcom/dmdirc/installer/cliparser/CLIParser.me == cli
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 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)
unanalyzedcall on java.util.Hashtable
unanalyzedcall on java.util.ArrayList










method void com.dmdirc.installer.Main()
precli != null
precli.params != null
pre(soft) init'ed(com/dmdirc/installer/cliparser/CLIPa rser.me)
pre(soft) init'ed(myInstaller)
presumptiongetCLIParser(...).params != null
presumptionjava.lang.System:getProperty(...)@68 != null
postcom/dmdirc/installer/cliparser/CLIParser.me == One-of{old com/dmdirc/installer/cliparser/CLIParse r.me, &amp;new CLIParser(getCLIParser#1)}
postinit'ed(com/dmdirc/installer/cliparser/CLIParser. me)
postmyInstaller == One-of{old myInstaller, &amp;new WindowsInstaller(getInstaller#1), &amp;new LinuxInstaller(getInstaller#2)}
postinit'ed(myInstaller)
postwizardDialog == &amp;new InstallerDialog(Main#2)
postwizardDialog.wizard.dialog == &amp;new InstallerDialog(Main#2)
postnew ArrayList(CLIParser#2) num objects <= 1
postnew ArrayList(CLIParser#3) num objects <= 1
postnew ArrayList(StepLayout#1) num objects == 1
postnew InstallerDialog(Main#2) num objects == 1
postnew JButton(WizardControlPanel#1) num objects == 1
postnew JButton(WizardControlPanel#2) num objects == 1
postnew JLabel(TitlePanel#2) num objects == 1
postnew JLabel(TitlePanel#3) num objects == 1
postnew JLabel(WizardControlPanel#3) num objects == 1
postnew ListenerList(InstallerDialog#4) num objects == 1
postnew StepLayout(WizardPanel#1) num objects == 1
postnew TitlePanel(InstallerDialog#1) num objects == 1
postnew WizardControlPanel(InstallerDialog#3) num objects == 1
postnew WizardPanel(InstallerDialog#2) num objects == 1
postnew CLIParser(getCLIParser#1) num objects <= 1
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)
postnew Hashtable(CLIParser#1) num objects <= 1
postwizardDialog.control == &amp;new WizardControlPanel (InstallerDialog#3)
postwizardDialog.listeners == &amp;new ListenerList(Ins tallerDialog#4)
postwizardDialog.title == &amp;new TitlePanel(Installer Dialog#1)
postwizardDialog.wizard == &amp;new WizardPanel(Install erDialog#2)
postnew LinuxInstaller(getInstaller#2) num objects == 0
postinit'ed(wizardDialog.wizard.layout.currentStep)
postinit'ed(wizardDialog.wizard.layout.hGap)
postinit'ed(wizardDialog.wizard.layout.parent)
postwizardDialog.wizard.layout.steps == &amp;new ArrayList(StepLayout#1)
postinit'ed(wizardDialog.wizard.layout.vGap)
postwizardDialog.title.image == &amp;new JLabel(TitlePanel#3)
postwizardDialog.title.title == &amp;new JLabel(TitlePanel#2)
postnew WindowsInstaller(getInstaller#1) num objects == 0
postwizardDialog.control.next == &amp;new JButton(WizardControlPanel#2)
postwizardDialog.control.prev == &amp;new JButton(WizardControlPanel#1)
postwizardDialog.control.progress == &amp;new JLabel(WizardControlPanel#3)
postinit'ed(wizardDialog.control.step)
postinit'ed(wizardDialog.control.total)
postwizardDialog.wizard.layout == &amp;new StepLayout(WizardPanel#1)
unanalyzedcall on java.util.Hashtable
unanalyzedcall on java.util.ArrayList
unanalyzedcall on com.dmdirc.installer.Main
unanalyzedcall on javax.swing.UIManager:getSystemLookAndFeelC lassName
unanalyzedcall on javax.swing.UIManager:setLookAndFeel
unanalyzedcall on java.lang.Boolean:valueOf
unanalyzedcall on javax.swing.UIManager:put
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.UnsupportedOperationException
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.lang.String:valueOf
unanalyzedcall on javax.swing.JLabel:setText
unanalyzedcall on javax.swing.JLabel:setIcon
unanalyzedcall on getStepDescription
unanalyzedcall on java.lang.String:equals
unanalyzedcall on getStepName
unanalyzedcall on getIcon
unanalyzedcall on javax.swing.ImageIcon
unanalyzedcall on javax.swing.JFrame
unanalyzedcall on java.awt.BorderLayout
unanalyzedcall on javax.swing.JPanel
unanalyzedcall on javax.swing.JLabel
unanalyzedcall on javax.swing.JLabel:getFont
unanalyzedcall on java.awt.Font:getSize
unanalyzedcall on java.awt.Font:deriveFont
unanalyzedcall on javax.swing.JLabel:setFont
unanalyzedcall on com.dmdirc.installer.ui.TitlePanel:add
unanalyzedcall on com.dmdirc.installer.ui.TitlePanel:setBackg round
unanalyzedcall on javax.swing.border.EtchedBorder
unanalyzedcall on com.dmdirc.installer.ui.TitlePanel:setBorde r
unanalyzedcall on com.dmdirc.installer.ui.WizardPanel:setLayo ut
unanalyzedcall on javax.swing.JButton
unanalyzedcall on javax.swing.JButton:getFont
unanalyzedcall on java.awt.Dimension
unanalyzedcall on javax.swing.JButton:setPreferredSize
unanalyzedcall on com.dmdirc.installer.ui.WizardControlPanel: setBorder
unanalyzedcall on javax.swing.BoxLayout
unanalyzedcall on com.dmdirc.installer.ui.WizardControlPanel: setLayout
unanalyzedcall on com.dmdirc.installer.ui.WizardControlPanel: add
unanalyzedcall on javax.swing.Box:createHorizontalGlue
unanalyzedcall on javax.swing.Box:createHorizontalStrut
unanalyzedcall on com.dmdirc.util.ListenerList
unanalyzedcall on com.dmdirc.installer.ui.InstallerDialog:set Layout
unanalyzedcall on javax.swing.BorderFactory:createEmptyBorder
unanalyzedcall on com.dmdirc.installer.ui.TitlePanel:getBorde r
unanalyzedcall on javax.swing.BorderFactory:createCompoundBor der
unanalyzedcall on com.dmdirc.installer.ui.WizardPanel:getBord er
unanalyzedcall on com.dmdirc.installer.ui.WizardPanel:setBord er
unanalyzedcall on com.dmdirc.installer.ui.WizardControlPanel: getBorder
unanalyzedcall on com.dmdirc.installer.ui.InstallerDialog:add
unanalyzedcall on java.awt.Toolkit:getDefaultToolkit
unanalyzedcall on java.lang.Thread:currentThread
unanalyzedcall on java.lang.Thread:getContextClassLoader
unanalyzedcall on java.lang.ClassLoader:getResource
unanalyzedcall on java.awt.Toolkit:createImage
unanalyzedcall on com.dmdirc.installer.ui.InstallerDialog:set IconImage
unanalyzedcall on com.dmdirc.installer.ui.InstallerDialog:set PreferredSize
unanalyzedcall on com.dmdirc.installer.ui.InstallerDialog:set MaximumSize
unanalyzedcall on javax.swing.JButton:addActionListener
unanalyzedcall on com.dmdirc.util.ListenerList:add
unanalyzedcall on java.lang.System:getProperty
unanalyzedcall on com.dmdirc.installer.ui.SwingStep:getStepNa me
unanalyzedcall on com.dmdirc.installer.ui.WizardPanel:add
unanalyzedcall on java.lang.String:startsWith
unanalyzedcall on com.dmdirc.installer.Installer
unanalyzedcall on com.dmdirc.installer.LinuxInstaller
unanalyzedcall on java.lang.ClassLoader:getSystemResource
unanalyzedcall on com.dmdirc.installer.ui.SwingStep
unanalyzedcall on com.dmdirc.installer.ui.StepWelcome:setLayo ut
unanalyzedcall on javax.swing.text.DefaultStyledDocument
unanalyzedcall on javax.swing.JTextPane
unanalyzedcall on com.dmdirc.installer.ui.TextLabel:setOpaque
unanalyzedcall on com.dmdirc.installer.ui.TextLabel:setEditab le
unanalyzedcall on com.dmdirc.installer.ui.TextLabel:setHighli ghter
unanalyzedcall on java.awt.Insets
unanalyzedcall on com.dmdirc.installer.ui.TextLabel:setMargin
unanalyzedcall on com.dmdirc.installer.ui.TextLabel:setText
unanalyzedcall on com.dmdirc.installer.ui.StepWelcome:add
unanalyzedcall on com.dmdirc.installer.ui.StepError:setLayout
unanalyzedcall on com.dmdirc.installer.ui.StepError:add
unanalyzedcall on com.dmdirc.installer.Installer:getMenuName
unanalyzedcall on javax.swing.JCheckBox
unanalyzedcall on com.dmdirc.installer.Installer:defaultInsta llLocation
unanalyzedcall on javax.swing.JTextField
unanalyzedcall on com.dmdirc.installer.DefaultSettings
unanalyzedcall on com.dmdirc.installer.DefaultSettings:getSho rtcutMenuState
unanalyzedcall on javax.swing.JCheckBox:setSelected
unanalyzedcall on com.dmdirc.installer.DefaultSettings:getSho rtcutDesktopState
unanalyzedcall on com.dmdirc.installer.DefaultSettings:getSho rtcutQuickState
unanalyzedcall on com.dmdirc.installer.DefaultSettings:getSho rtcutProtocolState
unanalyzedcall on java.awt.GridBagConstraints
unanalyzedcall on java.awt.GridBagLayout
unanalyzedcall on com.dmdirc.installer.ui.StepSettings:setLay out
unanalyzedcall on com.dmdirc.installer.ui.StepSettings:add
unanalyzedcall on com.dmdirc.installer.Installer:supportsShor tcut
unanalyzedcall on javax.swing.Box:createVerticalGlue
unanalyzedcall on com.dmdirc.installer.ui.StepConfirm:setLayo ut
unanalyzedcall on com.dmdirc.installer.ui.StepConfirm:add
unanalyzedcall on com.dmdirc.installer.ui.StepInstall:setLayo ut
unanalyzedcall on javax.swing.JScrollPane
unanalyzedcall on com.dmdirc.installer.ui.StepInstall:add
test_vectorjava.lang.String:startsWith(...)@70: {0}, {1}









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










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










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











method void disposeOfInstaller()
preinit'ed(myInstaller)
postmyInstaller == null
test_vectormyInstaller: Addr_Set{null}, Inverse{null}










method Installer getInstaller()
preinit'ed(myInstaller)
presumptionjava.lang.System:getProperty(...)@101 != null
postmyInstaller == One-of{old myInstaller, &amp;new WindowsInstaller(getInstaller#1), &amp;new LinuxInstaller(getInstaller#2)}
postinit'ed(myInstaller)
postreturn_value == myInstaller
postnew LinuxInstaller(getInstaller#2) num objects <= 1
postnew WindowsInstaller(getInstaller#1) num objects <= 1
unanalyzedcall on com.dmdirc.installer.Installer
test_vectormyInstaller: Inverse{null}, Addr_Set{null}
test_vectorjava.lang.String:startsWith(...)@104: {0}, {1}










method void setupCLIParser()
precli != null
precli.paramList != null
precli.params != null
precli.redundant != null
postinit'ed(cli.helpParam)
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.util.Map:clear
unanalyzedcall on java.util.List:clear
unanalyzedcall on com.dmdirc.installer.cliparser.CLIParam
unanalyzedcall on java.lang.Character:valueOf
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.lang.String:valueOf
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.util.List:add










method InstallerDialog getWizardFrame()
preinit'ed(wizardDialog)
postreturn_value == wizardDialog
postinit'ed(return_value)
test_vectorwizardDialog: Inverse{null}, Addr_Set{null}









  call too complex - analysis skippedInfocall on void com.dmdirc.installer.Main()











method void setWizardFrame(InstallerDialog)
postwizardDialog == dialog
postinit'ed(wizardDialog)










method void main(String[])
preargs != null
preargs.length <= 232-1
preargs[...] != null
precli != null
precli.paramList != null
precli.params != null
precli.redundant != null
preinit'ed(wizardDialog.control.step)
preinit'ed(wizardDialog.wizard.layout.currentStep)
prewizardDialog != null
prewizardDialog.control != null
prewizardDialog.control.next != null
prewizardDialog.control.prev != null
prewizardDialog.control.progress != null
prewizardDialog.listeners != null
prewizardDialog.title != null
prewizardDialog.title.image != null
prewizardDialog.title.title != null
prewizardDialog.wizard != null
prewizardDialog.wizard.layout != null
prewizardDialog.wizard.layout.steps != null
presumptioncli.helpParam.stringFlag@165 != null
postinit'ed(cli.helpParam)
postinit'ed(java.lang.String:substring(...)._tainted)
postwizardDialog.control.step >= -231+1
postinit'ed(wizardDialog.control.total)
postwizardDialog.wizard.layout.currentStep <= 232-2
unanalyzedcall on com.dmdirc.installer.Main
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on javax.swing.JLabel:setText
unanalyzedcall on javax.swing.JLabel:setIcon
unanalyzedcall on getStepDescription
unanalyzedcall on java.lang.String:equals
unanalyzedcall on getStepName
unanalyzedcall on getIcon
unanalyzedcall on javax.swing.ImageIcon
unanalyzedcall on java.util.Map:clear
unanalyzedcall on java.util.List:clear
unanalyzedcall on com.dmdirc.installer.cliparser.CLIParam
unanalyzedcall on java.lang.Character:valueOf
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.lang.String:valueOf
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.util.List:add
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.lang.String:charAt
unanalyzedcall on java.lang.String:substring
unanalyzedcall on java.util.List:iterator
unanalyzedcall on java.io.PrintStream:println
unanalyzedcall on java.io.PrintStream:print
unanalyzedcall on java.lang.Integer:parseInt
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.String:equalsIgnoreCase
unanalyzedcall on setValue
unanalyzedcall on java.util.List:get
unanalyzedcall on com.dmdirc.util.ListenerList:get
unanalyzedcall on stepAboutToDisplay
unanalyzedcall on java.util.List:size
unanalyzedcall on java.awt.Container:getTreeLock
unanalyzedcall on java.awt.Container:getComponentCount
unanalyzedcall on java.awt.Container:getComponent
unanalyzedcall on java.awt.Component:isVisible
unanalyzedcall on java.awt.Component:setVisible
unanalyzedcall on java.awt.Container:validate
unanalyzedcall on javax.swing.JButton:setText
unanalyzedcall on javax.swing.JButton:setEnabled
unanalyzedcall on showFirst
unanalyzedcall on java.awt.event.WindowAdapter
unanalyzedcall on com.dmdirc.installer.ui.InstallerDialog:add WindowListener
unanalyzedcall on com.dmdirc.installer.ui.InstallerDialog:pac k
unanalyzedcall on com.dmdirc.installer.ui.InstallerDialog:set DefaultCloseOperation
unanalyzedcall on java.awt.MouseInfo:getPointerInfo
unanalyzedcall on java.awt.PointerInfo:getDevice
unanalyzedcall on java.awt.GraphicsDevice:getDefaultConfigura tion
unanalyzedcall on java.awt.GraphicsConfiguration:getBounds
unanalyzedcall on java.awt.Window:getWidth
unanalyzedcall on java.awt.Window:getHeight
unanalyzedcall on java.awt.Window:setLocation
unanalyzedcall on com.dmdirc.installer.ui.InstallerDialog:set Visible
unanalyzedcall on java.awt.Toolkit:getDefaultToolkit
unanalyzedcall on java.lang.ClassLoader:getSystemResource
unanalyzedcall on java.awt.Toolkit:createImage