diff --git a/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch b/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch new file mode 100644 index 0000000..38465ff --- /dev/null +++ b/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch @@ -0,0 +1,22 @@ +diff -up doxygen/src/configimpl.l.orig doxygen/src/configimpl.l +--- doxygen/src/configimpl.l.orig 2021-01-19 17:25:00.933789247 +0100 ++++ doxygen/src/configimpl.l 2021-01-19 17:26:09.704744240 +0100 +@@ -1175,8 +1175,7 @@ static void substEnvVarsInStrList(String + for (const auto &s : sl) + { + QCString result = s.c_str(); +- // an argument with quotes will have an extra space at the end, so wasQuoted will be TRUE. +- bool wasQuoted = (result.find(' ')!=-1) || (result.find('\t')!=-1); ++ bool wasQuoted = (result.find(' ')!=-1) || (result.find('\t')!=-1) || (result.find('"')!=-1); + // here we strip the quote again + substEnvVarsInString(result); + +@@ -1229,7 +1228,7 @@ static void substEnvVarsInStrList(String + } + if (p!=l) // add the leftover as a string + { +- results.push_back(result.right(l-p).data()); ++ results.push_back(result.right(l-p).str()); + } + } + else // just goto the next element in the list