From 05c48cc8d8d7fb5072a7c09026770d61c61a0d1a Mon Sep 17 00:00:00 2001 From: Itamar Date: Mon, 1 Mar 2021 22:56:58 +0200 Subject: [PATCH] LanguageServers/Cpp: Fix nullptr dereference in ~LanguageClient The WeakPtr to the ServerConnection is nullified if the server crashes. Closes #5570. --- Userland/DevTools/HackStudio/LanguageClient.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Userland/DevTools/HackStudio/LanguageClient.h b/Userland/DevTools/HackStudio/LanguageClient.h index f7bedc2c556..b9b233f0286 100644 --- a/Userland/DevTools/HackStudio/LanguageClient.h +++ b/Userland/DevTools/HackStudio/LanguageClient.h @@ -112,7 +112,10 @@ public: virtual ~LanguageClient() { - m_server_connection->detach(); + // m_server_connection is nullified if the server crashes + if (m_server_connection) + m_server_connection->detach(); + VERIFY(m_previous_client.ptr() != this); if (m_previous_client) m_server_connection->attach(*m_previous_client);