]> Sergey Matveev's repositories - btrtrc.git/commitdiff
dht: Don't log messages that have been truncated
authorMatt Joiner <anacrolix@gmail.com>
Wed, 3 Dec 2014 00:43:28 +0000 (18:43 -0600)
committerMatt Joiner <anacrolix@gmail.com>
Wed, 3 Dec 2014 00:43:28 +0000 (18:43 -0600)
dht/dht.go

index 9840961cc85d9c132e73020d18280d0a422d1e4b..67febcaca4c6d936ff662332855b22dd774e81aa 100644 (file)
@@ -291,9 +291,15 @@ func (s *Server) processPacket(b []byte, addr dHTAddr) {
        if err != nil {
                func() {
                        if se, ok := err.(*bencode.SyntaxError); ok {
+                               // The message was truncated.
+                               if int(se.Offset) == len(b) {
+                                       return
+                               }
+                               // Some messages seem to drop to nul chars abrubtly.
                                if int(se.Offset) < len(b) && b[se.Offset] == 0 {
                                        return
                                }
+                               // The message isn't bencode from the first.
                                if se.Offset == 0 {
                                        return
                                }