From 3a537ee25efdfe099283f1008fd7ee755943692e Mon Sep 17 00:00:00 2001 From: john30 Date: Sat, 7 Jan 2017 10:53:25 +0100 Subject: [PATCH] fix for potential double free --- src/ebusd/bushandler.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ebusd/bushandler.h b/src/ebusd/bushandler.h index 484cf288..974f7ab7 100644 --- a/src/ebusd/bushandler.h +++ b/src/ebusd/bushandler.h @@ -384,12 +384,15 @@ public: */ virtual ~BusHandler() { stop(); + join(); BusRequest* req; while ((req = m_finishedRequests.pop())!=NULL) { delete req; } while ((req = m_nextRequests.pop())!=NULL) { - delete req; + if (req->m_deleteOnFinish) { + delete req; + } } if (m_currentRequest!=NULL) { delete m_currentRequest;