summaryrefslogtreecommitdiff
path: root/source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch')
-rw-r--r--source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch b/source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch
new file mode 100644
index 00000000..38465ffb
--- /dev/null
+++ b/source/d/doxygen/patches/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