forked from qt-creator/qt-creator
fix access to free()d memory
the 'item' reference may become invalid inside the loop. Change-Id: I4468b1dc67e565e2eb8ce35268ef44b18142846a Reviewed-on: http://codereview.qt.nokia.com/1703 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
This commit is contained in:
@@ -2578,7 +2578,7 @@ ProStringList ProFileEvaluator::Private::evaluateExpandFunction(
|
|||||||
ret.prepend(item);
|
ret.prepend(item);
|
||||||
foreach (const ProString &dep, dependees[item]) {
|
foreach (const ProString &dep, dependees[item]) {
|
||||||
QSet<ProString> &dset = dependencies[dep];
|
QSet<ProString> &dset = dependencies[dep];
|
||||||
dset.remove(item);
|
dset.remove(rootSet.at(i)); // *Don't* use 'item' - rootSet may have changed!
|
||||||
if (dset.isEmpty())
|
if (dset.isEmpty())
|
||||||
rootSet << dep;
|
rootSet << dep;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user