summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-03-10 18:18:53 (GMT)
committerGitHub <noreply@github.com>2019-03-10 18:18:53 (GMT)
commit339e566643614f1eed54d3eb3b7048327737da7e (patch)
tree6f8119281e1518a2e4aee34e761b7762252b7370 /src
parent1c2d4f3b3e1725ad9e9f2ec21bdd4f2b7c8de00d (diff)
parentbe1cceffdb3d8487f10fe7a354d360c52979edd3 (diff)
downloadDoxygen-339e566643614f1eed54d3eb3b7048327737da7e.zip
Doxygen-339e566643614f1eed54d3eb3b7048327737da7e.tar.gz
Doxygen-339e566643614f1eed54d3eb3b7048327737da7e.tar.bz2
Merge pull request #6857 from albert-github/feature/bug_645910
Bug 645910 - Segfault on recursion while parsing "\subpage A" in "\page A"
Diffstat (limited to 'src')
-rw-r--r--src/doxygen.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index fa54d68..99878a5 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -8705,7 +8705,14 @@ static void computePageRelations(Entry *root)
for (bii.toFirst();(bi=bii.current());++bii)
{
PageDef *subPd = Doxygen::pageSDict->find(bi->name);
- if (subPd)
+ if (pd==subPd)
+ {
+ err("page defined at line %d of file %s with label %s is a direct "
+ "subpage of itself! Please remove this cyclic dependency.\n",
+ pd->docLine(),pd->docFile().data(),pd->name().data());
+ exit(1);
+ }
+ else if (subPd)
{
pd->addInnerCompound(subPd);
//printf("*** Added subpage relation: %s->%s\n",