From 431f578460a6b50fac497c109b349fb2719dc901 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Wed, 28 Sep 2022 01:42:19 +0200 Subject: [PATCH] Make sure the ID is right --- src/pinger_icmp.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pinger_icmp.rs b/src/pinger_icmp.rs index dc8ff6a..6f72dee 100644 --- a/src/pinger_icmp.rs +++ b/src/pinger_icmp.rs @@ -20,13 +20,18 @@ impl PingListener for PingerICMPEchoListener { id: u16, reflector: IpAddr, buf: &[u8], - len: usize, ) -> Result> { match SlicedPacket::from_ip(buf) { Err(value) => println!("Err {:?}", value), Ok(value) => match value.transport { Some(Icmpv4(icmp)) => match icmp.icmp_type() { Icmpv4Type::EchoReply(echo) => { + if echo.id != id { + return Err(Box::new(PingParseError { + msg: "Wrong ID".to_string(), + })); + } + let time_sent = icmp .payload() .read_u64::()