From d8c000b6c01787205bd11a475a7b9b0e168451b0 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 10 Aug 2018 13:26:53 +0200 Subject: Fix potential inconsistency in Artifact data If safeConnect() returns false, we must not add that "child" to the list of children added by scanners. Change-Id: Icbb1b2d14d99f002e2370ee2bda25daafb0398b2 Reviewed-by: Joerg Bornemann --- src/lib/corelib/buildgraph/executor.cpp | 4 ++-- src/lib/corelib/buildgraph/inputartifactscanner.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/corelib/buildgraph/executor.cpp b/src/lib/corelib/buildgraph/executor.cpp index e18e9f699..d2c245c8a 100644 --- a/src/lib/corelib/buildgraph/executor.cpp +++ b/src/lib/corelib/buildgraph/executor.cpp @@ -872,8 +872,8 @@ void Executor::rescueOldBuildData(Artifact *artifact, bool *childrenAdded = 0) if (childrenAdded && !childrenToConnect.empty()) *childrenAdded = true; for (Artifact * const child : childrenToConnect) { - safeConnect(artifact, child); - artifact->childrenAddedByScanner << child; + if (safeConnect(artifact, child)) + artifact->childrenAddedByScanner << child; } qCDebug(lcBuildGraph) << "Data was rescued."; } else { diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.cpp b/src/lib/corelib/buildgraph/inputartifactscanner.cpp index d183b1879..e96f6fdde 100644 --- a/src/lib/corelib/buildgraph/inputartifactscanner.cpp +++ b/src/lib/corelib/buildgraph/inputartifactscanner.cpp @@ -344,8 +344,8 @@ void InputArtifactScanner::handleDependency(ResolvedDependency &dependency) } else { if (m_artifact->children.contains(artifactDependency)) return; - safeConnect(m_artifact, artifactDependency); - m_artifact->childrenAddedByScanner += artifactDependency; + if (safeConnect(m_artifact, artifactDependency)) + m_artifact->childrenAddedByScanner += artifactDependency; m_newDependencyAdded = true; } } -- cgit v1.2.3