| 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/change.c b/server/change.c index 7ef456f..11b4729 100644 --- a/server/change.c +++ b/server/change.c
@@ -376,7 +376,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;