From 80a7b16593951791c4a85053a7cc14fc45260cee Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 3 May 2018 11:02:40 +0200 Subject: [PATCH] LocalStore::addValidPath(): Throw error when the CA assertion is wrong Closes #2133. --- src/libstore/local-store.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc index b63584f28..ef8c2811b 100644 --- a/src/libstore/local-store.cc +++ b/src/libstore/local-store.cc @@ -581,7 +581,8 @@ void LocalStore::checkDerivationOutputs(const Path & drvPath, const Derivation & uint64_t LocalStore::addValidPath(State & state, const ValidPathInfo & info, bool checkOutputs) { - assert(info.ca == "" || info.isContentAddressed(*this)); + if (info.ca != "" && !info.isContentAddressed(*this)) + throw Error("cannot add path '%s' to the Nix store because it claims to be content-addressed but isn't", info.path); state.stmtRegisterValidPath.use() (info.path)