aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2020-06-12 10:14:03 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2020-06-12 10:14:03 -0500
commit11c97070f3d845a9313f137c41974c021429e834 (patch)
tree80fceecd791d506e2b2e6f06b7d2cd35f871b955
parent3e3eaa90dd1aaf4684697f27726ec72aec75206c (diff)
Fix storeDir != storeDir condition
this needs to only continue if the path replacement fails.
-rw-r--r--src/libstore/local-store.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc
index 6385453cc..4cecf0992 100644
--- a/src/libstore/local-store.cc
+++ b/src/libstore/local-store.cc
@@ -866,12 +866,12 @@ void LocalStore::querySubstitutablePathInfos(const StorePathSet & paths,
auto info = sub->queryPathInfo(path);
auto ca = pathsCA.find(printStorePath(path));
- if (sub->storeDir != storeDir && info->references.empty() && ca != pathsCA.end()) {
+ if (info->references.empty() && ca != pathsCA.end()) {
if (!hasPrefix(ca->second, "fixed:"))
continue;
- // recompute store path so that we can use a fixed output ca
+ // recompute store path so that we can use a different store path
path = sub->makeStorePath("output:out", hashString(htSHA256, ca->second), path.name());
- } else continue;
+ } else if (sub->storeDir != storeDir) continue;
auto narInfo = std::dynamic_pointer_cast<const NarInfo>(
std::shared_ptr<const ValidPathInfo>(info));