about summary refs log tree commit diff
path: root/src/libstore
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-04-21T16·21+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-04-21T16·21+0200
commit21ef1670b3cb592ae504cca4e412082746affcfe (patch)
tree278d3c439a909b9bd7834cfb2d6464c7a95cbc04 /src/libstore
parent7d14f5c3310f5380ca14391e79bd1fc214d5f5c9 (diff)
Fix test failures
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/gc.cc2
-rw-r--r--src/libstore/store-api.cc1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/libstore/gc.cc b/src/libstore/gc.cc
index 13123838f3bf..1536dcb590e0 100644
--- a/src/libstore/gc.cc
+++ b/src/libstore/gc.cc
@@ -691,7 +691,7 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results)
                 string name = dirent->d_name;
                 if (name == "." || name == "..") continue;
                 Path path = settings.nixStore + "/" + name;
-                if (isValidPath(path))
+                if (isStorePath(path) && isValidPath(path))
                     entries.push_back(path);
                 else
                     tryToDelete(state, path);
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc
index 9870e36b5494..14932f9b0be7 100644
--- a/src/libstore/store-api.cc
+++ b/src/libstore/store-api.cc
@@ -17,6 +17,7 @@ bool isInStore(const Path & path)
 bool isStorePath(const Path & path)
 {
     return isInStore(path)
+        && path.size() >= settings.nixStore.size() + 1 + storePathHashLen
         && path.find('/', settings.nixStore.size() + 1) == Path::npos;
 }