summaryrefslogtreecommitdiffstats
path: root/src/fortranscanner.l
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/fortranscanner.l
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/fortranscanner.l')
-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();