summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTopi Reinio <topi.reinio@qt.io>2021-11-06 00:24:17 +0100
committerTopi Reiniƶ <topi.reinio@qt.io>2021-11-06 10:50:19 +0000
commitf79bb22bf8cf383b91e229ec6eb59f547d7b8a0d (patch)
treefe70213ba7c6fb56376822d68781e0cbccf95e1f /src
parent02057fc029e3d2cc1808fe712fca84ccfc074f99 (diff)
qdoc: Fix memory leak in Section::clear()
It is generally a bad move to set something to null before attempting to delete it. Pick-to: 6.2 Change-Id: Icb08f281508583342bb6bd07cc01080748d0052a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/qdoc/sections.cpp18
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;
}