Last Msg First Msg
























method com.dmdirc.parser.irc.ProcessJoin__static_init










method void process(String, String[])
presParam != null
pretoken != null
pretoken.length <= 232
pre(soft) init'ed(this.myParser.stringConverter)
pre(soft) this.myParser != 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.currentSocketState)
pre(soft) this.myParser.hChanModesOther != 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.myProcessingManager != null
pre(soft) this.myParser.myProcessingManager.myParser != null
pre(soft) this.myParser.myProcessingManager. processHash != null
pre(soft) init'ed(this.myParser.out)
pre(soft) this.myParser.stringConverter.lowercase != null
pre(soft) init'ed(this.myParser.stringConverter. lowercase[...])
pre(soft) token[0] != null
pre(soft) token[...] != null
pre(soft) token[3] != null
pre(soft) token[4] != null
presumptioniChannel.hChannelUserList@55 != null
presumptioniChannel.myParser@55 != null
presumptioniChannel.sName@55 != null
presumptioniClient.myChannelClientInfos@54 != null
presumptioniClient.myParser@54 != null
presumptioniClient.sHost@54 != null
presumptioniClient.sHost@59 != null
presumptionthis.myParser.stringConverter.lowercase != null
presumptionthis.myParser.stringConverter.lowercase@54 != null
presumptionthis.myParser.stringConverter.lowercase@55 != null
presumptionthis.myParser.stringConverter.lowercase@59 != null
postinit'ed(java.lang.String:substring(...)._tainted)
postpossibly_updated(this.myParser.cMyself. myAwayReason)
postinit'ed(this.myParser.stringConverter)
postnew IRCStringConverter(getIRCStringConverter#1) num objects <= 1
postnew IRCStringConverter(getIRCStringConverter#1) num objects == 0
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).limit)
postpossibly_updated(new IRCStringConverter(getIRCStrin gConverter#1).limit)
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).lowercase)
postpossibly_updated(new IRCStringConverter(getIRCStrin gConverter#1).lowercase)
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).uppercase)
postpossibly_updated(new IRCStringConverter(getIRCStrin gConverter#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). length)
postpossibly_updated(new char[](IRCStringConverter#1)[...])
postinit'ed(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). length)
postpossibly_updated(new char[](IRCStringConverter#2)[...])
unanalyzedcall on getCallbackManager
unanalyzedcall on getCallbackType
unanalyzedcall on call
unanalyzedcall on getUser
unanalyzedcall on getLastLine
unanalyzedcall on callErrorInfo
unanalyzedcall on getName
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 java.lang.Throwable:__curr_excep_obj
unanalyzedcall on java.lang.String:toCharArray
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.lang.String
unanalyzedcall on parseHost
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 java.util.Hashtable
unanalyzedcall on java.util.LinkedList
unanalyzedcall on java.util.HashMap
unanalyzedcall on getNickname
unanalyzedcall on java.util.Map:put
unanalyzedcall on java.util.Map:values
unanalyzedcall on java.util.Collection:iterator
unanalyzedcall on getClient
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.Exception:getMessage
unanalyzedcall on java.lang.System:currentTimeMillis
unanalyzedcall on com.dmdirc.parser.irc.ChannelClientInfo
unanalyzedcall on sendString
unanalyzedcall on getChannel
unanalyzedcall on java.lang.String:indexOf
unanalyzedcall on java.lang.String:equalsIgnoreCase
unanalyzedcall on java.lang.Character:valueOf
unanalyzedcall on java.lang.Byte:byteValue
unanalyzedcall on doSendString
unanalyzedcall on java.lang.Boolean:valueOf
unanalyzedcall on java.io.PrintWriter:printf
unanalyzedcall on setAwayReason
unanalyzedcall on getListModeQueue
unanalyzedcall on java.util.LinkedList:contains
unanalyzedcall on java.util.Queue:offer
unanalyzedcall on java.util.LinkedList:offer
test_vectortoken.length: {5..232}, {0..2}
test_vectorjava.lang.String:equals(...)@38: {0}, {1}
test_vectorjava.lang.String:isEmpty(...)@62: {0}, {1}









Prev Msg Next Msg
  precondition failure
High Prob.
com/dmdirc/parser/irc/IRCParser.addClient: client.sNickname != null
Prev Msg Next Msg











method bool callChannelJoin(ChannelInfo, ChannelClientInf o)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@109 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 callChannelSelfJoin(ChannelInfo)
prethis.myParser != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
presumptiongetCallbackManager(...)@120 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;"JOIN"
postreturn_value[1] == &amp;"329"










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