diff options
author | Topi Reinio <topi.reinio@qt.io> | 2021-11-06 00:24:17 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-11-06 11:28:23 +0000 |
commit | 1ebce4de7a1fd99a640e237e0b1a24874a7ae9f8 (patch) | |
tree | c9ff462ab3d9fe2771bad8478a4d23da021003cf | |
parent | 40785d2b4107b7f86e9464f4696189c30cf5f740 (diff) | |
download | qttools-1ebce4de7a1fd99a640e237e0b1a24874a7ae9f8.tar.gz |
qdoc: Fix memory leak in Section::clear()
It is generally a bad move to set something to null before attempting
to delete it.
Change-Id: Icb08f281508583342bb6bd07cc01080748d0052a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit f79bb22bf8cf383b91e229ec6eb59f547d7b8a0d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/qdoc/sections.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/qdoc/sections.cpp b/src/qdoc/sections.cpp index 1c685cef0..7b6a8966f 100644 --- a/src/qdoc/sections.cpp +++ b/src/qdoc/sections.cpp @@ -87,29 +87,19 @@ Section::~Section() */ void Section::clear() { + qDeleteAll(m_classMapList); + qDeleteAll(m_classKeysNodesList); m_memberMap.clear(); m_obsoleteMemberMap.clear(); m_reimplementedMemberMap.clear(); - if (!m_classMapList.isEmpty()) { - for (ClassMap *classMap : m_classMapList) { - classMap = nullptr; - delete classMap; - } - m_classMapList.clear(); - } + m_classMapList.clear(); m_keys.clear(); m_obsoleteKeys.clear(); m_members.clear(); m_obsoleteMembers.clear(); m_reimplementedMembers.clear(); m_inheritedMembers.clear(); - if (!m_classKeysNodesList.isEmpty()) { - for (ClassKeysNodes *classKeysNode : m_classKeysNodesList) { - classKeysNode = nullptr; - delete classKeysNode; - } - m_classKeysNodesList.clear(); - } + m_classKeysNodesList.clear(); m_aggregate = nullptr; } |