summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2015-03-18 17:44:53 (GMT)
committeralbert-github <albert.tests@gmail.com>2015-03-18 17:44:53 (GMT)
commit7d3a2abf0137c5257eeb0a8e0f76381b79f1e7bb (patch)
treefc2a12490a26b991ca1301fdd0c9885157c9c33e
parent1c8bbb64e7e6f72789dd0df5c22c5840f858be75 (diff)
downloadDoxygen-7d3a2abf0137c5257eeb0a8e0f76381b79f1e7bb.zip
Doxygen-7d3a2abf0137c5257eeb0a8e0f76381b79f1e7bb.tar.gz
Doxygen-7d3a2abf0137c5257eeb0a8e0f76381b79f1e7bb.tar.bz2
Crash in case of non generic interface in Fortran
In case of a non generic interface in Fortran it happened that doxygen crashed due to the fact that the pointer for setting the endBodyLine does not exist. The line number is only defined for GENERIC interfaces and therefore it should not be set anyhow when ending a non generic interface.
-rw-r--r--src/fortranscanner.l2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/fortranscanner.l b/src/fortranscanner.l
index 1cfa13d..094bfb1 100644
--- a/src/fortranscanner.l
+++ b/src/fortranscanner.l
@@ -485,7 +485,7 @@ SCOPENAME ({ID}{BS}"::"{BS})*
<InterfaceBody>^{BS}end{BS}interface({BS_}{ID})? {
// end scope only if GENERIC interface
- last_entry->parent()->endBodyLine = yyLineNr - 1;
+ if (ifType == IF_GENERIC)last_entry->parent()->endBodyLine = yyLineNr - 1;
if (ifType == IF_GENERIC && !endScope(current_root))
yyterminate();