From b32333343bda560ab6065821cd3250ec7c358639 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 16 Aug 2023 17:40:24 +0200 Subject: [PATCH] Valgrind: Make socket parentless when passed to Parser Otherwise, when the socket is a child of QTcpServer, it may be deleted together with a server, while it's still held in Parser instance. Change-Id: I600e9cef1268ffc93e1e86d317e087df8b4d70cb Reviewed-by: hjk --- src/plugins/valgrind/xmlprotocol/parser.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/valgrind/xmlprotocol/parser.cpp b/src/plugins/valgrind/xmlprotocol/parser.cpp index 6b11ad0a3ca..33d78b3ef49 100644 --- a/src/plugins/valgrind/xmlprotocol/parser.cpp +++ b/src/plugins/valgrind/xmlprotocol/parser.cpp @@ -761,6 +761,7 @@ void Parser::setSocket(QAbstractSocket *socket) QTC_ASSERT(socket, return); QTC_ASSERT(socket->isOpen(), return); QTC_ASSERT(!isRunning(), return); + socket->setParent(nullptr); // Don't delete it together with parent QTcpServer anymore. d->m_socket.reset(socket); }