From 20b635aad77ffbfd5a28e916dae7213a27b1a562 Mon Sep 17 00:00:00 2001 From: Eli Young Date: Wed, 5 Apr 2017 18:15:17 -0700 Subject: [PATCH] Don't try to quit multiple times (#1392) Calls to CIRCSock::Quit() eventually result in the object's destructor being called, which itself calls CIRCSock::Quit() again. Avoid sending multiple quit messages to the remote server by checking if the underlying socket is already marked for closing. --- src/IRCSock.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/IRCSock.cpp b/src/IRCSock.cpp index 81726d89..db10179f 100644 --- a/src/IRCSock.cpp +++ b/src/IRCSock.cpp @@ -137,6 +137,9 @@ CIRCSock::~CIRCSock() { } void CIRCSock::Quit(const CString& sQuitMsg) { + if (IsClosed()) { + return; + } if (!m_bAuthed) { Close(CLT_NOW); return;