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).
This commit is contained in:
Ali Mohammad Pur 2021-10-10 01:41:17 +03:30 committed by Andreas Kling
parent e8891e6d56
commit 82da36f129
Notes: sideshowbarker 2024-07-18 02:51:57 +09:00

View file

@ -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;