create_request: avoid u16 overflow
This commit is contained in:
parent
b52824df6f
commit
aa4914eda4
1 changed files with 6 additions and 1 deletions
|
|
@ -81,7 +81,12 @@ impl DhtState {
|
|||
fn create_request(&mut self, request: Request, addr: SocketAddr) -> Message<ByteString> {
|
||||
let transaction_id = self.next_transaction_id;
|
||||
let transaction_id_buf = [(transaction_id >> 8) as u8, (transaction_id & 0xff) as u8];
|
||||
self.next_transaction_id += 1;
|
||||
|
||||
self.next_transaction_id = if transaction_id == u16::MAX {
|
||||
0
|
||||
} else {
|
||||
transaction_id + 1
|
||||
};
|
||||
let message = match request {
|
||||
Request::GetPeers(info_hash) => Message {
|
||||
transaction_id: ByteString::from(transaction_id_buf.as_ref()),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue