From 82da36f129de923a1ed0b34cbecb20d5b96763b8 Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Sun, 10 Oct 2021 01:41:17 +0330 Subject: LibHTTP: Quit the read loop when an incomplete chunk size line is seen If we don't quit, the underlying socket won't get a chance to do much other than nothing while we spin in read_while_data_available(). Fixes some possible RS spin (especially seen in Google's cookie consent page). --- Userland/Libraries/LibHTTP/Job.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Userland/Libraries/LibHTTP/Job.cpp b/Userland/Libraries/LibHTTP/Job.cpp index 346a538dfc..4b32fc4e47 100644 --- a/Userland/Libraries/LibHTTP/Job.cpp +++ b/Userland/Libraries/LibHTTP/Job.cpp @@ -245,7 +245,7 @@ void Job::on_socket_connected() dbgln_if(JOB_DEBUG, "Job: Received a chunk with size '{}'", size_data); if (size_lines.size() == 0) { if (!eof()) - return AK::IterationDecision::Continue; + return AK::IterationDecision::Break; dbgln("Job: Reached end of stream"); finish_up(); return IterationDecision::Break; -- cgit v1.2.3