diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-02-28T13·51+0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-02-28T13·51+0100 |
commit | f45c731cd7740cfd479d8704de16ee49e51fe06e (patch) | |
tree | 0a8b15ffff703fc3d1b539fa8e5b705bb9cd3e02 /src | |
parent | 88936411bcdd344d04e3a9ae0cd5389650551784 (diff) |
Handle symlinks properly
Now it's really brown paper bag time...
Diffstat (limited to 'src')
-rw-r--r-- | src/libstore/local-store.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc index 2c439a66d647..6154a6382bb0 100644 --- a/src/libstore/local-store.cc +++ b/src/libstore/local-store.cc @@ -536,7 +536,7 @@ static void canonicalisePathMetaData_(const Path & path, uid_t fromUid, InodesSe if (inodesSeen.find(Inode(st.st_dev, st.st_ino)) == inodesSeen.end()) throw BuildError(format("invalid ownership on file `%1%'") % path); mode_t mode = st.st_mode & ~S_IFMT; - assert(st.st_uid == geteuid() && (mode == 0444 || mode == 0555) && st.st_mtime == mtimeStore); + assert(st.st_uid == geteuid() && (S_ISLNK(st.st_mode) ? 1 : mode == 0444 || mode == 0555) && st.st_mtime == mtimeStore); return; } |