From 21ef1670b3cb592ae504cca4e412082746affcfe Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 21 Apr 2016 18:21:25 +0200 Subject: Fix test failures --- src/libstore/gc.cc | 2 +- src/libstore/store-api.cc | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'src') 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; } -- cgit 1.4.1