From 6e101adc28c9c682f023386831d632a477768cb8 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Thu, 6 May 2021 08:37:46 +0200 Subject: [PATCH] DHCPClient: Handle invalid DHCP responses more gracefully --- Userland/Services/DHCPClient/DHCPv4Client.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Userland/Services/DHCPClient/DHCPv4Client.cpp b/Userland/Services/DHCPClient/DHCPv4Client.cpp index 426cec15c1..a75538372f 100644 --- a/Userland/Services/DHCPClient/DHCPv4Client.cpp +++ b/Userland/Services/DHCPClient/DHCPv4Client.cpp @@ -287,7 +287,11 @@ void DHCPv4Client::process_incoming(const DHCPv4Packet& packet) dbgln_if(DHCPV4CLIENT_DEBUG, "Here are the options: {}", options.to_string()); - auto value = options.get(DHCPOption::DHCPMessageType).value(); + auto value_or_error = options.get(DHCPOption::DHCPMessageType); + if (!value_or_error.has_value()) + return; + + auto value = value_or_error.value(); switch (value) { case DHCPMessageType::DHCPOffer: handle_offer(packet, options);