doxygen/doxgen-1.9.1-crash-when-par...

65 lines
2.1 KiB
Diff

commit 3b15963316b59cd1af3468a43535d90343916ffb
Author: Dimitri van Heesch <doxygen@gmail.com>
Date: Mon Jan 18 19:59:16 2021 +0100
issue #8343: doxygen-1.9.1 crashes when parsing config file
diff --git a/src/configimpl.l b/src/configimpl.l
index 7f73ec01..56a2e108 100644
--- a/src/configimpl.l
+++ b/src/configimpl.l
@@ -1210,7 +1210,7 @@ static void substEnvVarsInStrList(StringVector &sl)
c=result.at(i);
if (c=='"') // end quote
{
- results.push_back(result.mid(p,i-p).data());
+ results.push_back(result.mid(p,i-p).str());
p=i+1;
break;
}
@@ -1222,7 +1222,7 @@ static void substEnvVarsInStrList(StringVector &sl)
}
else if (c==' ' || c=='\t') // separator
{
- if (i>p) results.push_back(result.mid(p,i-p).data());
+ if (i>p) results.push_back(result.mid(p,i-p).str());
p=i+1;
}
}
@@ -1234,7 +1234,7 @@ static void substEnvVarsInStrList(StringVector &sl)
}
else // just goto the next element in the list
{
- if (!result.isEmpty()) results.push_back(result.data());
+ if (!result.isEmpty()) results.push_back(result.str());
}
}
sl = results;
@@ -1409,7 +1409,7 @@ static void cleanUpPaths(StringVector &str)
QFileInfo fi(path.c_str());
if (fi.exists() && fi.isDir())
{
- path = fi.absFilePath().utf8().data();
+ path = fi.absFilePath().utf8().str();
if (path[path.size()-1]!='/') path+='/';
}
}
@@ -1545,7 +1545,7 @@ void Config::checkAndCorrect()
QString p = QDir::currentDirPath();
if (p.at(p.length()-1)!='/')
p.append('/');
- stripFromPath.push_back(p.utf8().data());
+ stripFromPath.push_back(p.utf8().str());
}
else
{
@@ -1882,7 +1882,7 @@ void Config::checkAndCorrect()
if (inputSources.empty())
{
// use current dir as the default
- inputSources.push_back(QDir::currentDirPath().utf8().data());
+ inputSources.push_back(QDir::currentDirPath().utf8().str());
}
else
{