summaryrefslogtreecommitdiffstats
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-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();