From 93542a4f90e7dd6dfe664e91d0ee06e62e0829d3 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 12 Nov 2021 19:14:03 +0100 Subject: [PATCH] fix potential duplicate cleanup --- src/ebusd/network.cpp | 6 ++++-- src/ebusd/network.h | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ebusd/network.cpp b/src/ebusd/network.cpp index 550fa024..c7c7276d 100644 --- a/src/ebusd/network.cpp +++ b/src/ebusd/network.cpp @@ -183,8 +183,10 @@ void Connection::run() { } } - delete m_socket; - m_socket = nullptr; + if (m_socket) { + delete m_socket; + m_socket = nullptr; + } logInfo(lf_network, "[%05d] connection closed", getID()); } diff --git a/src/ebusd/network.h b/src/ebusd/network.h index 13f1069c..2d6373bd 100644 --- a/src/ebusd/network.h +++ b/src/ebusd/network.h @@ -231,7 +231,12 @@ class Connection : public Thread { m_id = ++m_ids; } - virtual ~Connection() { if (m_socket) delete m_socket; } + virtual ~Connection() { + if (m_socket) { + delete m_socket; + m_socket = nullptr; + } + } /** * endless loop for connection instance. */