diff options
-rw-r--r-- | source3/smbd/files.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/source3/smbd/files.c b/source3/smbd/files.c index b8142b0290..c0ebb9893a 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -604,11 +604,9 @@ NTSTATUS dup_file_fsp(struct smb_request *req, files_struct *from, to->oplock_type = from->oplock_type; to->can_lock = from->can_lock; to->can_read = ((access_mask & FILE_READ_DATA) != 0); - if (!CAN_WRITE(from->conn)) { - to->can_write = False; - } else { - to->can_write = ((access_mask & (FILE_WRITE_DATA | FILE_APPEND_DATA)) != 0); - } + to->can_write = + CAN_WRITE(from->conn) && + ((access_mask & (FILE_WRITE_DATA | FILE_APPEND_DATA)) != 0); to->modified = from->modified; to->is_directory = from->is_directory; to->aio_write_behind = from->aio_write_behind; |