aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libstore/gc.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libstore/gc.cc b/src/libstore/gc.cc
index 220441927..648295684 100644
--- a/src/libstore/gc.cc
+++ b/src/libstore/gc.cc
@@ -538,8 +538,10 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results)
Finally cleanup([&]() {
auto conn(connections.lock());
auto i = conn->find(fdClient.get());
- i->second.detach();
- conn->erase(i);
+ if (i != conn->end()) {
+ i->second.detach();
+ conn->erase(i);
+ }
});
while (true) {