From f9de264f88cac6c245beb7e0c653ea527fbaa550 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 9 Aug 2019 09:38:38 +0200 Subject: [PATCH] Kernel: Actually, let's not hang() on bad incoming packets That kinda defeats the purpose of being smart enough to ignore them :^) --- Kernel/Net/NetworkTask.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/Kernel/Net/NetworkTask.cpp b/Kernel/Net/NetworkTask.cpp index 7bf0e3d1ca..4d0a92a87d 100644 --- a/Kernel/Net/NetworkTask.cpp +++ b/Kernel/Net/NetworkTask.cpp @@ -185,21 +185,18 @@ void handle_ipv4(const EthernetFrameHeader& eth, int frame_size) constexpr int minimum_ipv4_frame_size = sizeof(EthernetFrameHeader) + sizeof(IPv4Packet); if (frame_size < minimum_ipv4_frame_size) { kprintf("handle_ipv4: Frame too small (%d, need %d)\n", frame_size, minimum_ipv4_frame_size); - hang(); return; } auto& packet = *static_cast(eth.payload()); if (packet.length() < sizeof(IPv4Packet)) { kprintf("handle_ipv4: IPv4 packet too short (%u, need %u)\n", packet.length(), sizeof(IPv4Packet)); - hang(); return; } size_t actual_ipv4_packet_length = frame_size - sizeof(EthernetFrameHeader); if (packet.length() > actual_ipv4_packet_length) { kprintf("handle_ipv4: IPv4 packet claims to be longer than it is (%u, actually %zu)\n", packet.length(), actual_ipv4_packet_length); - hang(); return; }