diff options
Diffstat (limited to 'src/util.cc')
-rw-r--r-- | src/util.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/util.cc b/src/util.cc index c7ae711bbac7..f2cdb1d72345 100644 --- a/src/util.cc +++ b/src/util.cc @@ -149,9 +149,9 @@ void makePathReadOnly(const string & path) if (lstat(path.c_str(), &st)) throw SysError(format("getting attributes of path `%1%'") % path); - if (st.st_mode & S_IWUSR) { + if (!S_ISLNK(st.st_mode) && (st.st_mode & S_IWUSR)) { if (chmod(path.c_str(), st.st_mode & ~S_IWUSR) == -1) - throw SysError(format("making `%1%' read-only")); + throw SysError(format("making `%1%' read-only") % path); } if (S_ISDIR(st.st_mode)) { |