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