From 598746aefe428c36d0bd3efab2c906bd1dc69aa5 Mon Sep 17 00:00:00 2001 From: Jake McGinty Date: Sat, 10 Feb 2018 15:38:12 +0000 Subject: keepalive short-circuit and panic-safe --- src/ip_packet.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/ip_packet.rs') diff --git a/src/ip_packet.rs b/src/ip_packet.rs index 4aa7ecb..5f342b8 100644 --- a/src/ip_packet.rs +++ b/src/ip_packet.rs @@ -10,6 +10,10 @@ pub enum IpPacket<'a> { impl<'a> IpPacket<'a> { pub fn new(packet: &'a [u8]) -> Option { + if packet.len() == 0 { + return None; + } + match packet[0] >> 4 { 4 => Ipv4Packet::new(&packet).map(|packet| IpPacket::V4(packet)), 6 => Ipv6Packet::new(&packet).map(|packet| IpPacket::V6(packet)), -- cgit v1.2.3-59-g8ed1b