Log bad metadata packets instead of crashing
This commit is contained in:
parent
3dd43c6099
commit
c8327a8fe2
@ -846,7 +846,12 @@ func (cl *Client) gotMetadataExtensionMsg(payload []byte, t *torrent, c *connect
|
||||
if t.haveInfo() {
|
||||
break
|
||||
}
|
||||
t.SaveMetadataPiece(piece, payload[len(payload)-metadataPieceSize(d["total_size"], piece):])
|
||||
begin := len(payload) - metadataPieceSize(d["total_size"], piece)
|
||||
if begin < 0 || begin >= len(payload) {
|
||||
log.Printf("got bad metadata piece")
|
||||
break
|
||||
}
|
||||
t.SaveMetadataPiece(piece, payload[begin:])
|
||||
if !t.HaveAllMetadataPieces() {
|
||||
break
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user