1
0
mirror of https://github.com/veggiedefender/torrent-client.git synced 2025-11-06 09:29:16 +02:00

Handle keep-alive in recvBitfield

This commit is contained in:
anton
2020-09-28 14:11:01 +03:00
parent a83013d250
commit 7b89866bbd
2 changed files with 9 additions and 0 deletions

View File

@@ -52,6 +52,10 @@ func recvBitfield(conn net.Conn) (bitfield.Bitfield, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
if msg == nil {
err := fmt.Errorf("Expected bitfield but got %s", msg)
return nil, err
}
if msg.ID != message.MsgBitfield { if msg.ID != message.MsgBitfield {
err := fmt.Errorf("Expected bitfield but got ID %d", msg.ID) err := fmt.Errorf("Expected bitfield but got ID %d", msg.ID)
return nil, err return nil, err

View File

@@ -48,6 +48,11 @@ func TestRecvBitfield(t *testing.T) {
output: nil, output: nil,
fails: true, fails: true,
}, },
"message is keep-alive": {
msg: []byte{0x00, 0x00, 0x00, 0x00},
output: nil,
fails: true,
},
} }
for _, test := range tests { for _, test := range tests {