Преглед изворни кода

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().
Kenneth Myhra пре 3 година
родитељ
комит
1e1d59cc25
1 измењених фајлова са 2 додато и 3 уклоњено
  1. 2 3
      Userland/Services/RequestServer/ConnectionFromClient.cpp

+ 2 - 3
Userland/Services/RequestServer/ConnectionFromClient.cpp

@@ -81,9 +81,8 @@ void ConnectionFromClient::did_receive_headers(Badge<Request>, Request& request)
 
 void ConnectionFromClient::did_finish_request(Badge<Request>, 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());
 }