commit | 923524951aa3c138d67f7a848baeef3bcc1bae34 | [log] [tgz] |
---|---|---|
author | Paul Chitescu <paulc@voip.null.ro> | Tue Dec 08 14:10:01 2009 +0200 |
committer | Alexandre Julliard <julliard@winehq.org> | Tue Dec 08 17:42:32 2009 +0100 |
tree | fa6fa31594905569a77f0787bc4bbaa5561b6b8e | |
parent | d1e592ad20dcacdce40a64775a260ec594061c21 [diff] [blame] |
server: Only check if permission bits changed before calling fchmod().
diff --git a/server/file.c b/server/file.c index 3e09ddd..5db64cd 100644 --- a/server/file.c +++ b/server/file.c
@@ -560,7 +560,7 @@ mode = st.st_mode & (S_ISUID|S_ISGID|S_ISVTX|S_IRWXG); mode |= sd_to_mode( sd, owner ); - if (st.st_mode != mode && fchmod( unix_fd, mode ) == -1) + if (((st.st_mode ^ mode) & (S_IRWXU|S_IRWXG|S_IRWXO)) && fchmod( unix_fd, mode ) == -1) { file_set_error(); return 0;