Update handshake.rs

This commit is contained in:
Gav Wood 2016-02-27 15:05:13 +01:00
parent b2dd6ded1d
commit 213bfc4417

View File

@ -282,12 +282,12 @@ impl Handshake {
}
Err(_) => {
// Try to interpret as EIP-8 packet
let size = ((data[0] as u16) << 8 | (data[1] as u16)) as usize;
if size < (V4_ACK_PACKET_SIZE - 2) {
let total = (((data[0] as u16) << 8 | (data[1] as u16)) as usize) + 2;
if total < V4_ACK_PACKET_SIZE {
debug!(target: "net", "Wrong EIP8 ack packet size");
return Err(From::from(NetworkError::BadProtocol));
}
let rest = size - data.len() + 2;
let rest = total - data.len();
self.state = HandshakeState::ReadingAckEip8;
self.connection.expect(rest);
}