summaryrefslogtreecommitdiffstats
path: root/src/namespacedef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2020-11-01 21:07:05 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2020-11-01 21:07:05 (GMT)
commitbfe598c49fb7c99c93c84b7fcd7ea8ae8bb00739 (patch)
tree8f06ac8db15c135f3d1dec4383f528a0d540a78a /src/namespacedef.cpp
parent1ad25b7233704df79baf1a98f1951f467b9c4abc (diff)
downloadDoxygen-bfe598c49fb7c99c93c84b7fcd7ea8ae8bb00739.zip
Doxygen-bfe598c49fb7c99c93c84b7fcd7ea8ae8bb00739.tar.gz
Doxygen-bfe598c49fb7c99c93c84b7fcd7ea8ae8bb00739.tar.bz2
Fixed issue in combineUsingRelations() that could lead to the use of invalid iterators
Diffstat (limited to 'src/namespacedef.cpp')
-rw-r--r--src/namespacedef.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp
index 89ca9de..9ff63c2 100644
--- a/src/namespacedef.cpp
+++ b/src/namespacedef.cpp
@@ -1297,9 +1297,14 @@ void NamespaceDefImpl::combineUsingRelations()
{
if (m_visited) return; // already done
m_visited=TRUE;
- for (auto &nd : m_usingDirList)
+ LinkedRefMap<const NamespaceDef> usingDirList = m_usingDirList;
+ for (auto &nd : usingDirList)
{
const_cast<NamespaceDef*>(nd)->combineUsingRelations();
+ }
+
+ for (auto &nd : usingDirList)
+ {
// add used namespaces of namespace nd to this namespace
for (const auto &und : nd->getUsedNamespaces())
{