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().
This commit is contained in:
Kenneth Myhra 2022-06-20 17:43:35 +02:00 committed by Linus Groh
commit 1e1d59cc25
Notes: sideshowbarker 2024-07-17 18:46:30 +09:00

View file

@ -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());
}