diff options
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 18ebca1ce2..7dd3260f0b 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -1275,6 +1275,13 @@ void reply_setatr(struct smb_request *req) else mode &= ~FILE_ATTRIBUTE_DIRECTORY; + status = check_access(conn, NULL, smb_fname, + FILE_WRITE_ATTRIBUTES); + if (!NT_STATUS_IS_OK(status)) { + reply_nterror(req, status); + goto out; + } + if (file_set_dosmode(conn, smb_fname, mode, NULL, false) != 0) { reply_nterror(req, map_nt_error_from_unix(errno)); |