From 1e1d59cc2587aae62da4545084e7396932b8c167 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Mon, 20 Jun 2022 17:43:35 +0200 Subject: [PATCH] RequestServer: Do not VERIFY(request.total_size.has_value()) If the request is stopped RequestServer::did_finish_request() will crash on the VERIFY() call since request.total_size.has_value() returns false. Let us instead use a conditional expression to verify if it has a value and then call async_request_finished(). --- Userland/Services/RequestServer/ConnectionFromClient.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Userland/Services/RequestServer/ConnectionFromClient.cpp b/Userland/Services/RequestServer/ConnectionFromClient.cpp index 34ac465d54..e4b4f31657 100644 --- a/Userland/Services/RequestServer/ConnectionFromClient.cpp +++ b/Userland/Services/RequestServer/ConnectionFromClient.cpp @@ -81,9 +81,8 @@ void ConnectionFromClient::did_receive_headers(Badge, Request& request) void ConnectionFromClient::did_finish_request(Badge, Request& request, bool success) { - VERIFY(request.total_size().has_value()); - - async_request_finished(request.id(), success, request.total_size().value()); + if (request.total_size().has_value()) + async_request_finished(request.id(), success, request.total_size().value()); m_requests.remove(request.id()); }