Last Msg First Msg
























method com.dmdirc.parser.irc.ProcessMessage__static_init










method void process(String, String[])
pretoken[0] != null
prethis.myParser != null
pretoken != null
pre(soft) init'ed(this.myParser.stringConverter)
pre(soft) sParam != null
pre(soft) init'ed(this.myParser...lastLine)
pre(soft) this.myParser...myCallbackManager != null
pre(soft) this.myParser...myCallbackManager. callbackHash != null
pre(soft) this.myParser.cMyself != null
pre(soft) init'ed(this.myParser.cMyself.bIsFake)
pre(soft) init'ed(this.myParser.cMyself.sNickname)
pre(soft) this.myParser.hChanPrefix != null
pre(soft) this.myParser.hChannelList != null
pre(soft) this.myParser.hClientList != null
pre(soft) init'ed(this.myParser.lastLine)
pre(soft) this.myParser.myCallbackManager != null
pre(soft) this.myParser.myCallbackManager. callbackHash != null
pre(soft) this.myParser.myIgnoreList != null
pre(soft) this.myParser.myIgnoreList.ignoreInfo != null
pre(soft) this.myParser.myProcessingManager != null
pre(soft) this.myParser.myProcessingManager.myParser != null
pre(soft) this.myParser.myProcessingManager. processHash != null
pre(soft) init'ed(this.myParser.sThinkNickname)
pre(soft) this.myParser.stringConverter.lowercase != null
pre(soft) init'ed(this.myParser.stringConverter. lowercase[...])
pre(soft) token.length in {1..232}
pre(soft) token[1] != null
pre(soft) token[2] != null
pre(soft) token[...] != null
presumptiongetIRCStringConverter(...).lowercase.length@159 >= 1
presumptiongetIRCStringConverter(...).lowercase@159 != null
presumptioniChannel.hChannelUserList != null
presumptioniClient.sHost != null
presumptionjava.lang.Character:valueOf(...)@104 != null
presumptionjava.lang.Character:valueOf(...)@84 != null
presumptionjava.lang.Character:valueOf(...)@93 != null
presumptionthis.myParser.stringConverter.lowercase != null
postpossibly_updated(java.lang.String:substring(...)._ tainted)
postinit'ed(this.myParser.stringConverter)
posttoken[0] == One-of{old token[0], &java.lang. String:substring(...)}
posttoken[0] != null
postnew IRCStringConverter(getIRCStringConverter#1) num objects <= 1
postnew IRCStringConverter(getIRCStringConverter#1) num objects == 0
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).limit)
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).lowercase)
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).uppercase)
postnew char[](IRCStringConverter#1) num objects <= 1
postnew char[](IRCStringConverter#1) num objects == 0
postinit'ed(new char[](IRCStringConverter#1).length)
postpossibly_updated(new char[](IRCStringConverter#1)[...])
postnew char[](IRCStringConverter#2) num objects <= 1
postnew char[](IRCStringConverter#2) num objects == 0
postinit'ed(new char[](IRCStringConverter#2).length)
postpossibly_updated(new char[](IRCStringConverter#2)[...])
unanalyzedcall on getCallbackManager
unanalyzedcall on getCallbackType
unanalyzedcall on call
unanalyzedcall on java.util.List:size
unanalyzedcall on get
unanalyzedcall on java.lang.String:matches
unanalyzedcall on java.util.List:get
unanalyzedcall on getLastLine
unanalyzedcall on java.lang.String:toCharArray
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get
unanalyzedcall on callErrorInfo
unanalyzedcall on java.util.Hashtable:containsKey
unanalyzedcall on java.util.Hashtable:get
unanalyzedcall on java.lang.Exception
unanalyzedcall on java.lang.Integer:valueOf
unanalyzedcall on process
unanalyzedcall on java.lang.Integer:parseInt
unanalyzedcall on java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.Exception:getMessage
unanalyzedcall on java.lang.String:format
unanalyzedcall on callDebugInfo
unanalyzedcall on getClientInfo
unanalyzedcall on java.lang.String:isEmpty
unanalyzedcall on java.lang.String:charAt
unanalyzedcall on java.lang.String:substring
unanalyzedcall on java.lang.String:split
unanalyzedcall on isValidChannelName
unanalyzedcall on getChannelInfo
unanalyzedcall on java.util.Map:values
unanalyzedcall on java.util.Collection:iterator
unanalyzedcall on getClient
unanalyzedcall on isFake
unanalyzedcall on getNickname
unanalyzedcall on java.lang.String
unanalyzedcall on parseHost
unanalyzedcall on java.lang.Character:valueOf
unanalyzedcall on java.util.Map:isEmpty
unanalyzedcall on java.lang.String:equals
test_vectortoken.length: {4..232}, {1,2}, {3}
test_vectorjava.lang.Character:equals(...)@104: {0}, {1}
test_vectorjava.lang.Character:equals(...)@93: {0}, {1}
test_vectorjava.lang.String:charAt(...)@121: {0..57, 59..216-1}, {58}
test_vectorjava.lang.String:charAt(...)@51: {0..57, 59..216-1}, {58}
test_vectorjava.lang.String:equalsIgnoreCase(...)@142: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@152: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@160: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@170: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@179: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@189: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@67: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@90: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@93: {0}, {1}
test_vectorjava.lang.String:indexOf(...)@67: {-231.. -2, 0..232-1}, {-1}
test_vectorjava.lang.String:isEmpty(...)@113: {1}, {0}
test_vectorjava.lang.String:isEmpty(...)@126: {0}, {1}
test_vectorjava.lang.String:length(...)@121: {0,1}, {2..232-1}
test_vectorjava.lang.String:length(...)@89: {0,1}, {2..232-1}









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










Prev Msg Next Msg
  null dereference
Medium Prob.
check that not_init'ed(bits[0])
  use of default init
Low Prob.
check if init'ed(bits.length)
Prev Msg Next Msg










Prev Msg Next Msg
  use of default init
Low Prob.
check if init'ed(bits.length)
  test always goes same way
Low Prob.
Test predetermined because bits.length == 0
Prev Msg Next Msg










Prev Msg Next Msg
  dead code
Low Prob.
Dead code here because bits.length == 0
Prev Msg Next Msg










Prev Msg Next Msg
  use of default init
Low Prob.
check if init'ed(bits.length)
  test always goes same way
Low Prob.
Test predetermined because bits.length == 0
  dead code
Low Prob.
Dead code here because bits.length == 0
Prev Msg Next Msg










Prev Msg Next Msg
  null dereference
Medium Prob.
check that not_init'ed(bits[0])
  use of default init
Low Prob.
check if init'ed(bits.length)
Prev Msg Next Msg










Prev Msg Next Msg
  array index out of bounds
High Prob.
check that bits.length >= 2
  use of default init
Low Prob.
check if init'ed(bits.length)
Prev Msg Next Msg










Prev Msg Next Msg
  use of default init
Low Prob.
check if init'ed(java/lang/String:split(...). length)
Prev Msg Next Msg










Prev Msg Next Msg
  null dereference
Medium Prob.
check that not_init'ed(sCTCP)
  use of default init
Low Prob.
check if init'ed(java/lang/String:split(...). length)
Prev Msg Next Msg











method bool callChannelAction(ChannelInfo, ChannelClientInfo, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@210 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callChannelCTCP(ChannelInfo, ChannelClientInf o, String, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@225 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callChannelCTCPReply(ChannelInfo, ChannelClientInfo, String, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@240 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callChannelMessage(ChannelInfo, ChannelClientInfo, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@254 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callChannelNotice(ChannelInfo, ChannelClientInfo, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@268 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callPrivateAction(String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@280 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callPrivateCTCP(String, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@293 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callPrivateCTCPReply(String, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@306 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callPrivateMessage(String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@318 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callPrivateNotice(String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@330 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callUnknownAction(String, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@343 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callUnknownCTCP(String, String, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@357 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callUnknownCTCPReply(String, String, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@371 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callUnknownMessage(String, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@384 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method bool callUnknownNotice(String, String, String)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@397 init'ed
postinit'ed(return_value)
unanalyzedcall on getCallbackManager
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:get









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method String[] handles()
postreturn_value == &amp;new String[](handles#1)
postnew String[](handles#1) num objects == 1
postreturn_value.length == 2
postreturn_value[0] == &amp;"PRIVMSG"
postreturn_value[1] == &amp;"NOTICE"










method void com.dmdirc.parser.irc.ProcessMessage(IRCParse r, ProcessingManager)
postthis.myManager == manager
postinit'ed(this.myManager)
postthis.myParser == parser
postinit'ed(this.myParser)