Avoid storing references to rvalue FileName strings

Following 73616849, it is dangerous to store a reference to the rvalue of
toString(), since it might become dangling.

Example:

FileName foo() { return FileName::fromString(QLatin1String("/some/file")); }

void func()
{
    const QString &fileName = foo().toString();
    // fileName is now a dangling reference
}

Change-Id: I5dfad5dc8dd568a0a3c8f9f71ad93292dc26cbbe
Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
Orgad Shaneh
2015-03-02 09:18:35 +02:00
committed by hjk
parent 44797cdb52
commit 831701bb67
3 changed files with 3 additions and 3 deletions

View File

@@ -490,7 +490,7 @@ QStringList SessionManagerPrivate::dependenciesOrder() const
// copy the map to a temporary list
foreach (Project *pro, m_projects) {
const QString &proName = pro->projectFilePath().toString();
const QString proName = pro->projectFilePath().toString();
unordered << QPair<QString, QStringList>(proName, m_depMap.value(proName));
}