DCC.java


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


Filter Options
Annotation Kind:
pre
presumption
post
unanalyzed
test_vector


  • void close()

  • Kind Annotation Text
    pre(soft) init'ed(this.serverSocket)
    pre(soft) init'ed(this.socket)
    pre(soft) this.serverListeningSem != null
    prethis.serverSocketSem != null
    postpossibly_updated(this.in)
    postpossibly_updated(this.out)
    postthis.serverSocket == null
    postthis.socket == null
    unanalyzedcall on addLine
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on getArity
    unanalyzedcall on getType
    unanalyzedcall on isWindowClosing
    unanalyzedcall on java.io.DataInputStream:close
    unanalyzedcall on java.io.DataOutputStream:close
    unanalyzedcall on java.lang.Double:valueOf
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Math:floor
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on javax.swing.JButton:setText
    unanalyzedcall on javax.swing.JLabel:setText
    unanalyzedcall on javax.swing.JProgressBar:setValue
    unanalyzedcall on setIcon
    unanalyzedcall on socketClosed
    unanalyzedcall on trigger
    test_vectorjava.net.ServerSocket:isClosed(...)@212: {1}, {0}
    test_vectorjava.net.Socket:isClosed(...)@227: {1}, {0}
    test_vectorjava.util.concurrent.Semaphore:tryAcquire(... )@202: {1}, {0}

  • void com.dmdirc.addons.dcc.DCC()

  • Kind Annotation Text
    postnew Semaphore(DCC#1) num objects == 1
    postnew Semaphore(DCC#2) num objects == 1
    postthis.address == 0
    postthis.listen == 0
    postthis.port == 0
    postthis.running == 0
    postthis.serverListeningSem == &new Semaphore(DCC#2)
    postthis.serverSocketSem == &new Semaphore(DCC#1)

  • com.dmdirc.addons.dcc.DCC__static_init

  • Kind Annotation Text

  • void connect()

  • Kind Annotation Text
    pre(soft) init'ed(this.address)
    pre(soft) init'ed(this.listen)
    pre(soft) init'ed(this.port)
    pre(soft) this.serverSocket != null
    postinit'ed(this.address)
    postinit'ed(this.port)
    postnew BufferedReader(socketOpened#2) num objects <= 1
    postnew DataInputStream(socketOpened#5) num objects <= 1
    postnew DataOutputStream(socketOpened#2) num objects <= 1
    postnew DataOutputStream(socketOpened#4) num objects <= 1
    postnew File(socketOpened#1) num objects <= 1
    postnew PrintWriter(socketOpened#1) num objects <= 1
    postnew Socket(connect#1) num objects <= 1
    postnew Thread(connect#2) num objects <= 1
    postpossibly_updated(this.fileOut)
    postpossibly_updated(this.in)
    postpossibly_updated(this.out)
    postpossibly_updated(this.transferFile)
    postthis.address == One-of{old this.address, 0}
    postthis.handler.timeStarted == old this.handler. timeStarted
    postthis.myThread == One-of{old this.myThread, &amp;new Thread(connect#2)}
    postthis.socket == One-of{old this.socket, &amp;new Socket(connect#1)}
    unanalyzedcall on addLine
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on getArity
    unanalyzedcall on getType
    unanalyzedcall on isWindowClosing
    unanalyzedcall on java.io.BufferedReader
    unanalyzedcall on java.io.DataInputStream
    unanalyzedcall on java.io.DataInputStream:close
    unanalyzedcall on java.io.DataOutputStream
    unanalyzedcall on java.io.DataOutputStream:close
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:getAbsolutePath
    unanalyzedcall on java.io.FileOutputStream
    unanalyzedcall on java.io.InputStreamReader
    unanalyzedcall on java.io.PrintWriter
    unanalyzedcall on java.lang.Double:valueOf
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Math:floor
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.net.Socket:getInputStream
    unanalyzedcall on java.net.Socket:getOutputStream
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on javax.swing.JButton:setText
    unanalyzedcall on javax.swing.JLabel:setText
    unanalyzedcall on javax.swing.JProgressBar:setValue
    unanalyzedcall on setIcon
    unanalyzedcall on socketClosed
    unanalyzedcall on socketOpened
    unanalyzedcall on trigger
    test_vectorthis.listen: {0}, {1}

  • String getHost()

  • Kind Annotation Text
    preinit'ed(this.address)
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postreturn_value == &amp;java.lang.StringBuilder:toStri ng(...)

  • int getPort()

  • Kind Annotation Text
    preinit'ed(this.port)
    postinit'ed(return_value)
    postreturn_value == this.port

  • long ipToLong(String)

  • Kind Annotation Text
    preip != null
    postreturn_value == 0

  • bool isListenSocket()

  • Kind Annotation Text
    preinit'ed(this.listen)
    postinit'ed(return_value)
    postreturn_value == this.listen

  • bool isWriteable()

  • Kind Annotation Text
    postreturn_value == 0

  • void listen()

  • Kind Annotation Text
    pre(soft) init'ed(this.address)
    pre(soft) init'ed(this.port)
    prethis.serverSocketSem != null
    postinit'ed(this.address)
    postinit'ed(this.port)
    postnew BufferedReader(socketOpened#2) num objects == 0
    postnew DataInputStream(socketOpened#5) num objects == 0
    postnew DataOutputStream(socketOpened#2) num objects == 0
    postnew DataOutputStream(socketOpened#4) num objects == 0
    postnew File(socketOpened#1) num objects == 0
    postnew PrintWriter(socketOpened#1) num objects == 0
    postnew ServerSocket(listen#1) num objects == 1
    postnew Socket(connect#1) num objects == 0
    postnew Thread(connect#2) num objects <= 1
    postpossibly_updated(this.fileOut)
    postpossibly_updated(this.in)
    postpossibly_updated(this.out)
    postpossibly_updated(this.transferFile)
    postthis.address == One-of{old this.address, 0}
    postthis.handler.timeStarted == old this.handler. timeStarted
    postthis.listen == 1
    postthis.myThread == One-of{old this.myThread, &amp;new Thread(connect#2)}
    postthis.serverSocket == &amp;new ServerSocket(listen#1 )
    postthis.socket == old this.socket
    unanalyzedcall on addLine
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on getArity
    unanalyzedcall on getType
    unanalyzedcall on isWindowClosing
    unanalyzedcall on java.io.BufferedReader
    unanalyzedcall on java.io.DataInputStream
    unanalyzedcall on java.io.DataInputStream:close
    unanalyzedcall on java.io.DataOutputStream
    unanalyzedcall on java.io.DataOutputStream:close
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:getAbsolutePath
    unanalyzedcall on java.io.FileOutputStream
    unanalyzedcall on java.io.InputStreamReader
    unanalyzedcall on java.io.PrintWriter
    unanalyzedcall on java.lang.Double:valueOf
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Math:floor
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Thread
    unanalyzedcall on java.lang.Thread:start
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.net.ServerSocket:getLocalPort
    unanalyzedcall on java.net.Socket
    unanalyzedcall on java.net.Socket:getInputStream
    unanalyzedcall on java.net.Socket:getOutputStream
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on javax.swing.JButton:setText
    unanalyzedcall on javax.swing.JLabel:setText
    unanalyzedcall on javax.swing.JProgressBar:setValue
    unanalyzedcall on setIcon
    unanalyzedcall on socketClosed
    unanalyzedcall on socketOpened
    unanalyzedcall on trigger

  • void listen(int, int)

  • Kind Annotation Text
    pre(soft) endPort <= 232-2
    pre(soft) init'ed(this.address)
    pre(soft) init'ed(this.port)
    pre(soft) startPort <= 232-2
    pre(soft) this.serverSocket != null
    pre(soft) this.serverSocketSem != null
    postinit'ed(this.address)
    postinit'ed(this.port)
    postnew BufferedReader(socketOpened#2) num objects == 0
    postnew DataInputStream(socketOpened#5) num objects == 0
    postnew DataOutputStream(socketOpened#2) num objects == 0
    postnew DataOutputStream(socketOpened#4) num objects == 0
    postnew File(socketOpened#1) num objects == 0
    postnew PrintWriter(socketOpened#1) num objects == 0
    postnew ServerSocket(listen#1) num objects <= 1
    postnew Socket(connect#1) num objects == 0
    postnew Thread(connect#2) num objects <= 1
    postpossibly_updated(this.fileOut)
    postpossibly_updated(this.in)
    postpossibly_updated(this.out)
    postpossibly_updated(this.transferFile)
    postthis.address == One-of{old this.address, 0}
    postthis.handler.timeStarted == old this.handler. timeStarted
    postthis.listen == 1
    postthis.myThread == One-of{old this.myThread, &amp;new Thread(connect#2)}
    postthis.serverSocket != null
    postthis.serverSocket == One-of{old this.serverSocket, &amp;new ServerSocket(listen#1)}
    postthis.socket == old this.socket
    unanalyzedcall on addLine
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on getArity
    unanalyzedcall on getType
    unanalyzedcall on isWindowClosing
    unanalyzedcall on java.io.BufferedReader
    unanalyzedcall on java.io.DataInputStream
    unanalyzedcall on java.io.DataInputStream:close
    unanalyzedcall on java.io.DataOutputStream
    unanalyzedcall on java.io.DataOutputStream:close
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:getAbsolutePath
    unanalyzedcall on java.io.FileOutputStream
    unanalyzedcall on java.io.InputStreamReader
    unanalyzedcall on java.io.PrintWriter
    unanalyzedcall on java.lang.Double:valueOf
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Math:floor
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Thread
    unanalyzedcall on java.lang.Thread:start
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.net.ServerSocket:getLocalPort
    unanalyzedcall on java.net.Socket
    unanalyzedcall on java.net.Socket:getInputStream
    unanalyzedcall on java.net.Socket:getOutputStream
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on javax.swing.JButton:setText
    unanalyzedcall on javax.swing.JLabel:setText
    unanalyzedcall on javax.swing.JProgressBar:setValue
    unanalyzedcall on setIcon
    unanalyzedcall on socketClosed
    unanalyzedcall on socketOpened
    unanalyzedcall on trigger

  • String longToIP(long)

  • Kind Annotation Text
    postjava.lang.StringBuilder:toString(...)._tainted == 0
    postreturn_value == &amp;java.lang.StringBuilder:toStri ng(...)

  • void run()

  • Kind Annotation Text
    pre(soft) init'ed(this.myThread)
    pre(soft) init'ed(this.serverSocket)
    pre(soft) init'ed(this.socket)
    pre(soft) this.serverListeningSem != null
    pre(soft) this.serverSocketSem != null
    preinit'ed(this.running)
    presumptionthis.serverSocket@177 != null
    postinit'ed(new BufferedReader(socketOpened#2) num objects)
    postinit'ed(new DataInputStream(socketOpened#5) num objects)
    postinit'ed(new DataOutputStream(socketOpened#2) num objects)
    postinit'ed(new DataOutputStream(socketOpened#4) num objects)
    postinit'ed(new File(socketOpened#1) num objects)
    postinit'ed(new PrintWriter(socketOpened#1) num objects)
    postinit'ed(this.running)
    postinit'ed(this.serverSocket)
    postinit'ed(this.socket)
    postpossibly_updated(this.fileOut)
    postpossibly_updated(this.handler.timeStarted)
    postpossibly_updated(this.handler.transferCount)
    postpossibly_updated(this.in)
    postpossibly_updated(this.out)
    postpossibly_updated(this.readSize)
    postpossibly_updated(this.transferFile)
    unanalyzedcall on addLine
    unanalyzedcall on com.dmdirc.interfaces.ActionListener:proces sEvent
    unanalyzedcall on com.dmdirc.logger.Logger:assertTrue
    unanalyzedcall on com.dmdirc.ui.interfaces.InputWindow:getTra nscoder
    unanalyzedcall on com.dmdirc.util.MapList:containsKey
    unanalyzedcall on com.dmdirc.util.MapList:get
    unanalyzedcall on com.dmdirc.util.StringTranscoder:encode
    unanalyzedcall on dataTransfered
    unanalyzedcall on getArity
    unanalyzedcall on getType
    unanalyzedcall on handleChatMessage
    unanalyzedcall on handleReceive
    unanalyzedcall on isWindowClosing
    unanalyzedcall on java.io.BufferedReader
    unanalyzedcall on java.io.BufferedReader:readLine
    unanalyzedcall on java.io.DataInputStream
    unanalyzedcall on java.io.DataInputStream:close
    unanalyzedcall on java.io.DataInputStream:read
    unanalyzedcall on java.io.DataInputStream:readInt
    unanalyzedcall on java.io.DataOutputStream
    unanalyzedcall on java.io.DataOutputStream:close
    unanalyzedcall on java.io.DataOutputStream:flush
    unanalyzedcall on java.io.DataOutputStream:write
    unanalyzedcall on java.io.DataOutputStream:writeInt
    unanalyzedcall on java.io.File
    unanalyzedcall on java.io.File:getAbsolutePath
    unanalyzedcall on java.io.FileOutputStream
    unanalyzedcall on java.io.InputStreamReader
    unanalyzedcall on java.io.PrintWriter
    unanalyzedcall on java.lang.Double:valueOf
    unanalyzedcall on java.lang.Integer:valueOf
    unanalyzedcall on java.lang.Long:valueOf
    unanalyzedcall on java.lang.Math:floor
    unanalyzedcall on java.lang.String:format
    unanalyzedcall on java.lang.System:currentTimeMillis
    unanalyzedcall on java.lang.Thread:sleep
    unanalyzedcall on java.lang.Throwable:__curr_excep_obj
    unanalyzedcall on java.net.ServerSocket:close
    unanalyzedcall on java.net.ServerSocket:isClosed
    unanalyzedcall on java.net.Socket:close
    unanalyzedcall on java.net.Socket:getInputStream
    unanalyzedcall on java.net.Socket:getOutputStream
    unanalyzedcall on java.net.Socket:isClosed
    unanalyzedcall on java.util.ArrayList
    unanalyzedcall on java.util.ArrayList:iterator
    unanalyzedcall on java.util.List:remove
    unanalyzedcall on java.util.concurrent.Semaphore:release
    unanalyzedcall on java.util.concurrent.Semaphore:tryAcquire
    unanalyzedcall on javax.swing.JButton:setText
    unanalyzedcall on javax.swing.JLabel:setText
    unanalyzedcall on javax.swing.JProgressBar:setValue
    unanalyzedcall on setIcon
    unanalyzedcall on socketClosed
    unanalyzedcall on socketOpened
    unanalyzedcall on trigger
    unanalyzedcall on updateSpeedAndTime
    test_vectorthis.running: {0}, {1}

  • void setAddress(long, int)

  • Kind Annotation Text
    postinit'ed(this.address)
    postinit'ed(this.port)
    postthis.address == address
    postthis.port == port

  • void socketClosed()

  • Kind Annotation Text

  • void socketOpened()

  • Kind Annotation Text