From 9fbcd60dffb9e84031877026414fa21473befc42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Fri, 10 Apr 2020 01:42:20 +0200 Subject: [PATCH] bittorrent_udp: response_from_bytes: improve announce code --- bittorrent_udp/src/converters/responses.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bittorrent_udp/src/converters/responses.rs b/bittorrent_udp/src/converters/responses.rs index 8eedfea..145ede9 100644 --- a/bittorrent_udp/src/converters/responses.rs +++ b/bittorrent_udp/src/converters/responses.rs @@ -1,3 +1,4 @@ +use std::convert::TryInto; use std::io::{self, Cursor, Write}; use std::net::{IpAddr, Ipv6Addr, Ipv4Addr}; @@ -100,10 +101,8 @@ pub fn response_from_bytes( let peers = if ip_version == IpVersion::IPv4 { inner[position..].chunks_exact(6).map(|chunk| { - let ip_address = IpAddr::V4( - Ipv4Addr::new(chunk[0], chunk[1], chunk[2], chunk[3]) - ); - + let ip_bytes: [u8; 4] = (&chunk[..4]).try_into().unwrap(); + let ip_address = IpAddr::V4(Ipv4Addr::from(ip_bytes)); let port = (&chunk[4..]).read_u16::().unwrap(); ResponsePeer {