diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2013-12-08 14:48:53 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2013-12-08 14:48:53 (GMT) |
commit | 4bf77766ee2b981899e613f80904db15131fd1b3 (patch) | |
tree | a70357ff60f5f6feaabf4298b3fa6998b9aa6954 | |
parent | 58b2c852b150d75d100f27ea70124631549ba0e1 (diff) | |
download | Doxygen-4bf77766ee2b981899e613f80904db15131fd1b3.zip Doxygen-4bf77766ee2b981899e613f80904db15131fd1b3.tar.gz Doxygen-4bf77766ee2b981899e613f80904db15131fd1b3.tar.bz2 |
Bug 719463 - Invalid null key and segmentation fault
-rw-r--r-- | src/util.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/util.cpp b/src/util.cpp index 532d437..202ba82 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -5911,29 +5911,29 @@ int extractClassNameFromType(const QCString &type,int &pos,QCString &name,QCStri static const QRegExp re_ftn("[a-z_A-Z\\x80-\\xFF][()=_a-z_A-Z0-9:\\x80-\\xFF]*"); QRegExp re; - if (lang == SrcLangExt_Fortran) + name.resize(0); + templSpec.resize(0); + int i,l; + int typeLen=type.length(); + if (typeLen>0) { - if (type.at(pos)==',') return -1; - if (type.left(4).lower()=="type") + if (lang == SrcLangExt_Fortran) { - re = re_norm; + if (type.at(pos)==',') return -1; + if (type.left(4).lower()=="type") + { + re = re_norm; + } + else + { + re = re_ftn; + } } else { - re = re_ftn; + re = re_norm; } - } - else - { - re = re_norm; - } - name.resize(0); - templSpec.resize(0); - int i,l; - int typeLen=type.length(); - if (typeLen>0) - { if ((i=re.match(type,pos,&l))!=-1) // for each class name in the type { int ts=i+l; |