LlvmFileSystemAdapter: Don't use uninitialized memory

Create std::string explicitly using pointer to data and data size.
SmallVectorImpl<char> doesn't include terminating \0, so passing
data size is needed.

Fixes: QTCREATORBUG-28812
Change-Id: I63bd290e990ec8e4cd4fb609764a79e6feff92bc
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2023-02-16 14:22:48 +01:00
parent 6ed246e5e2
commit af03f49bf7

View File

@@ -151,7 +151,8 @@ public:
Path.assign(asString.begin(), asString.end()); Path.assign(asString.begin(), asString.end());
return {}; return {};
} }
const FilePath filePath = FilePath::fromString(QString::fromStdString(Path.data())); const FilePath filePath = FilePath::fromString(QString::fromStdString(
std::string(Path.data(), Path.size())));
if (filePath.isRelativePath()) { if (filePath.isRelativePath()) {
const std::string asString const std::string asString
= m_workingDirectory.resolvePath(filePath).toFSPathString().toStdString(); = m_workingDirectory.resolvePath(filePath).toFSPathString().toStdString();