From 55fa2329de95eec80a8d4484e68562a11bd23524 Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Mon, 28 Jun 2021 16:12:04 +0430 Subject: [PATCH] LibHTTP: Ensure finish_up() is not called more than once There's no reason to manually call it on TLS close, the HTTP reading logic is smart enough to handle connection closes transparently. Fixes #8211. --- Userland/Libraries/LibHTTP/HttpsJob.cpp | 3 --- Userland/Libraries/LibHTTP/Job.cpp | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Userland/Libraries/LibHTTP/HttpsJob.cpp b/Userland/Libraries/LibHTTP/HttpsJob.cpp index 18b6cb9974..9846c12571 100644 --- a/Userland/Libraries/LibHTTP/HttpsJob.cpp +++ b/Userland/Libraries/LibHTTP/HttpsJob.cpp @@ -38,9 +38,6 @@ void HttpsJob::start() }); } }; - m_socket->on_tls_finished = [&] { - finish_up(); - }; m_socket->on_tls_certificate_request = [this](auto&) { if (on_certificate_requested) on_certificate_requested(*this); diff --git a/Userland/Libraries/LibHTTP/Job.cpp b/Userland/Libraries/LibHTTP/Job.cpp index c500fef356..329e5de23c 100644 --- a/Userland/Libraries/LibHTTP/Job.cpp +++ b/Userland/Libraries/LibHTTP/Job.cpp @@ -360,6 +360,7 @@ void Job::timer_event(Core::TimerEvent& event) void Job::finish_up() { + VERIFY(m_state != State::Finished); m_state = State::Finished; if (!m_can_stream_response) { auto flattened_buffer = ByteBuffer::create_uninitialized(m_received_size);