From ee8601cac4b353e551b238f546a0e7e8fcdcd3be Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 14 Oct 2014 10:51:19 +0200 Subject: [PATCH] Improved error message when encountering unsupported file types Fixes #269. --- nix/libstore/local-store.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc index ab5b60132e..2f5c0e178f 100644 --- a/nix/libstore/local-store.cc +++ b/nix/libstore/local-store.cc @@ -551,9 +551,9 @@ static void canonicalisePathMetaData_(const Path & path, uid_t fromUid, InodesSe if (lstat(path.c_str(), &st)) throw SysError(format("getting attributes of path `%1%'") % path); - /* Really make sure that the path is of a supported type. This - has already been checked in dumpPath(). */ - assert(S_ISREG(st.st_mode) || S_ISDIR(st.st_mode) || S_ISLNK(st.st_mode)); + /* Really make sure that the path is of a supported type. */ + if (!(S_ISREG(st.st_mode) || S_ISDIR(st.st_mode) || S_ISLNK(st.st_mode))) + throw Error(format("file ‘%1%’ has an unsupported type") % path); /* Fail if the file is not owned by the build user. This prevents us from messing up the ownership/permissions of files