From 7cd17f3f41dfbcf6c7cb791dd4db890815f8468c Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Date: Fri, 15 Jul 2011 15:35:52 +0200 Subject: [PATCH] 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> --- src/shared/proparser/profileevaluator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp index 55e3e5373b7..8667b79fde0 100644 --- a/src/shared/proparser/profileevaluator.cpp +++ b/src/shared/proparser/profileevaluator.cpp @@ -2578,7 +2578,7 @@ ProStringList ProFileEvaluator::Private::evaluateExpandFunction( ret.prepend(item); foreach (const ProString &dep, dependees[item]) { QSet<ProString> &dset = dependencies[dep]; - dset.remove(item); + dset.remove(rootSet.at(i)); // *Don't* use 'item' - rootSet may have changed! if (dset.isEmpty()) rootSet << dep; } -- GitLab