Last Msg First Msg
























method com.dmdirc.util.CipherUtils__static_init










method void com.dmdirc.util.CipherUtils()
postthis.SALT == &new byte[](CipherUtils#1)
postnew byte[](CipherUtils#1) num objects == 1
postthis.SALT.length == 8
postthis.SALT[0] == -87
postthis.SALT[1] == -101
postthis.SALT[2] == -56
postthis.SALT[3] == 50
postthis.SALT[4] == 86
postthis.SALT[5] == 53
postthis.SALT[6] == -29
postthis.SALT[7] == 3










method CipherUtils getCipherUtils()
preinit'ed(me)
postme == One-of{old me, &new CipherUtils(getCipher Utils#1)}
postme != null
postreturn_value == One-of{old me, &new CipherUtils(getCipherUtils#1)}
postreturn_value != null
postnew CipherUtils(getCipherUtils#1) num objects <= 1
postnew CipherUtils(getCipherUtils#1).SALT == &amp;new byte[](CipherUtils#1)
postnew byte[](CipherUtils#1) num objects <= 1
postnew byte[](CipherUtils#1).length == 8
postnew byte[](CipherUtils#1)[0] == -87
postnew byte[](CipherUtils#1)[1] == -101
postnew byte[](CipherUtils#1)[2] == -56
postnew byte[](CipherUtils#1)[3] == 50
postnew byte[](CipherUtils#1)[4] == 86
postnew byte[](CipherUtils#1)[5] == 53
postnew byte[](CipherUtils#1)[6] == -29
postnew byte[](CipherUtils#1)[7] == 3
test_vectorme: Inverse{null}, Addr_Set{null}










method String encrypt(String)
preinit'ed(this.dcipher)
pre(soft) init'ed(this.ecipher)
pre(soft) init'ed(this.password)
pre(soft) str != null
presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
presumptionjavax.crypto.Cipher:doFinal(...).length@117 in {0, 3..169_538_366}
postreturn_value in Addr_Set{null,&amp;new String(encodeToString#1)}
postinit'ed(this.dcipher)
postinit'ed(this.ecipher)
postinit'ed(this.password)
postnew String(encodeToString#1) num objects <= 1
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.String:toCharArray
unanalyzedcall on javax.crypto.spec.PBEKeySpec
unanalyzedcall on javax.crypto.SecretKeyFactory:getInstance
unanalyzedcall on javax.crypto.SecretKeyFactory:generateSecre t
unanalyzedcall on javax.crypto.SecretKey:getAlgorithm
unanalyzedcall on javax.crypto.Cipher:getInstance
unanalyzedcall on javax.crypto.spec.PBEParameterSpec
unanalyzedcall on javax.crypto.Cipher:init
unanalyzedcall on com.dmdirc.logger.Logger:userError
unanalyzedcall on java.security.MessageDigest:getInstance
unanalyzedcall on java.lang.String:getBytes
unanalyzedcall on java.security.MessageDigest:digest
unanalyzedcall on java.nio.charset.Charset:forName
unanalyzedcall on java.lang.String
unanalyzedcall on com.dmdirc.Main:getUI
unanalyzedcall on getUserInput
unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
unanalyzedcall on com.dmdirc.config.ConfigManager:hasOptionSt ring
unanalyzedcall on com.dmdirc.config.ConfigManager:getOption
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on com.dmdirc.config.IdentityManager:getConfig Identity
unanalyzedcall on com.dmdirc.config.Identity:setOption
unanalyzedcall on java.lang.String:equals
test_vector!(this.dcipher == null) &amp; !(this.ecipher == null): {1}, {0}









Prev Msg Next Msg
  null dereference
Medium Prob.
check that this.ecipher != null
Prev Msg Next Msg










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)











method String decrypt(String)
preinit'ed(this.dcipher)
pre(soft) init'ed(net.miginfocom.Base64__static_init. new int[](Base64__static_init#1)[...])
pre(soft) init'ed(this.ecipher)
pre(soft) init'ed(this.password)
presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
postreturn_value in Addr_Set{null,&amp;new String(decrypt#1)}
postinit'ed(this.dcipher)
postinit'ed(this.ecipher)
postinit'ed(this.password)
postnew String(decrypt#1) num objects <= 1
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.String:toCharArray
unanalyzedcall on javax.crypto.spec.PBEKeySpec
unanalyzedcall on javax.crypto.SecretKeyFactory:getInstance
unanalyzedcall on javax.crypto.SecretKeyFactory:generateSecre t
unanalyzedcall on javax.crypto.SecretKey:getAlgorithm
unanalyzedcall on javax.crypto.Cipher:getInstance
unanalyzedcall on javax.crypto.spec.PBEParameterSpec
unanalyzedcall on javax.crypto.Cipher:init
unanalyzedcall on com.dmdirc.logger.Logger:userError
unanalyzedcall on java.security.MessageDigest:getInstance
unanalyzedcall on java.lang.String:getBytes
unanalyzedcall on java.security.MessageDigest:digest
unanalyzedcall on java.nio.charset.Charset:forName
unanalyzedcall on java.lang.String
unanalyzedcall on com.dmdirc.Main:getUI
unanalyzedcall on getUserInput
unanalyzedcall on com.dmdirc.config.IdentityManager:getGlobal Config
unanalyzedcall on com.dmdirc.config.ConfigManager:hasOptionSt ring
unanalyzedcall on com.dmdirc.config.ConfigManager:getOption
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on com.dmdirc.config.IdentityManager:getConfig Identity
unanalyzedcall on com.dmdirc.config.Identity:setOption
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.lang.String:charAt
test_vector!(this.dcipher == null) &amp; !(this.ecipher == null): {1}, {0}









Prev Msg Next Msg
  null dereference
Medium Prob.
check that this.dcipher != null
Prev Msg Next Msg










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)











method String hash(String)
pre(soft) data != null
presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
presumptionjava.security.MessageDigest:getInstance(...)@160 != null
postreturn_value in Addr_Set{null,&amp;new String(hash#1)}
postnew String(hash#1) num objects <= 1









  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)











method bool checkAuthed()
preinit'ed(this.dcipher)
pre(soft) init'ed(this.ecipher)
postinit'ed(return_value)
test_vectorthis.dcipher: Addr_Set{null}, Inverse{null}
test_vectorthis.ecipher: Addr_Set{null}, Inverse{null}










method void createCiphers()
pre(soft) this.password != null
presumptioninit'ed(com.dmdirc.logger.ErrorLevel.LOW)
presumptionjavax.crypto.Cipher:getInstance(...)@191 != null
presumptionjavax.crypto.Cipher:getInstance(...)@192 != null
presumptionjavax.crypto.SecretKeyFactory:generateSecret(... )@189 != null
presumptionjavax.crypto.SecretKeyFactory:getInstance(...)@189 != null
postinit'ed(this.dcipher)
postinit'ed(this.ecipher)









  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)










  method not available - call not analyzedInfocall on void com.dmdirc.logger.Logger:userError(Err orLevel, String)











method bool auth()
pre(soft) init'ed(this.password)
presumptioncom.dmdirc.config.IdentityManager:getConfigIdentity (...)@242 != null
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@229 != null
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@230 != null
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@232 != null
presumptioncom.dmdirc.config.IdentityManager:getGlobalConfig(. ..)@234 != null
presumptiongetUserInput(...)@266 != null
postinit'ed(return_value)
postinit'ed(this.password)
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on com.dmdirc.logger.Logger:userError
unanalyzedcall on java.security.MessageDigest:getInstance
unanalyzedcall on java.lang.String:getBytes
unanalyzedcall on java.security.MessageDigest:digest
unanalyzedcall on java.nio.charset.Charset:forName
unanalyzedcall on java.lang.String
unanalyzedcall on com.dmdirc.Main:getUI
unanalyzedcall on getUserInput
test_vectorcom.dmdirc.config.ConfigManager:hasOptionString(... )@229: {0}, {1}
test_vectorcom.dmdirc.config.ConfigManager:hasOptionString(... )@232: {0}, {1}
test_vectorjava.lang.String:equals(...)@245: {1}, {0}
test_vectorjava.lang.String:isEmpty(...)@238: {0}, {1}









  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()
  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:hasOpt ionString(String, String)










  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()
  method not available - call not analyzedInfocall on String com.dmdirc.config.ConfigManager:getO ption(String, String)










  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()
  method not available - call not analyzedInfocall on bool com.dmdirc.config.ConfigManager:hasOpt ionString(String, String)










  method not available - call not analyzedInfocall on ConfigManager com.dmdirc.config. IdentityManager:getGlobalConfig()
  method not available - call not analyzedInfocall on String com.dmdirc.config.ConfigManager:getO ption(String, String)










  method not available - call not analyzedInfocall on Identity com.dmdirc.config.IdentityManager: getConfigIdentity()
  method not available - call not analyzedInfocall on void com.dmdirc.config.Identity:setOption(S tring, String, String)










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











method String getPassword(String)
presumptioncom.dmdirc.Main:getUI(...)@266 != null
postinit'ed(return_value)









  method not available - call not analyzedInfocall on UIController com.dmdirc.Main:getUI()
  method not available - call not analyzedInfocall on String getUserInput(String)