mirror of
https://github.com/samba-team/samba.git
synced 2025-01-22 22:04:08 +03:00
Remove indentation around code wrapped by unneeded CAN_WRITE.
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
0d88b37fc6
commit
a91aac4a5f
@ -705,6 +705,7 @@ int file_set_dosmode(connection_struct *conn, struct smb_filename *smb_fname,
|
||||
int ret = -1, lret = -1;
|
||||
uint32_t old_mode;
|
||||
struct timespec new_create_timespec;
|
||||
files_struct *fsp = NULL;
|
||||
|
||||
if (!CAN_WRITE(conn)) {
|
||||
errno = EROFS;
|
||||
@ -855,29 +856,25 @@ int file_set_dosmode(connection_struct *conn, struct smb_filename *smb_fname,
|
||||
bits on a file. Just like file_ntimes below.
|
||||
*/
|
||||
|
||||
/* Check if we have write access. */
|
||||
if (CAN_WRITE(conn)) {
|
||||
/*
|
||||
* We need to open the file with write access whilst
|
||||
* still in our current user context. This ensures we
|
||||
* are not violating security in doing the fchmod.
|
||||
*/
|
||||
files_struct *fsp;
|
||||
if (!NT_STATUS_IS_OK(open_file_fchmod(conn, smb_fname,
|
||||
&fsp)))
|
||||
return -1;
|
||||
become_root();
|
||||
ret = SMB_VFS_FCHMOD(fsp, unixmode);
|
||||
unbecome_root();
|
||||
close_file(NULL, fsp, NORMAL_CLOSE);
|
||||
if (!newfile) {
|
||||
notify_fname(conn, NOTIFY_ACTION_MODIFIED,
|
||||
FILE_NOTIFY_CHANGE_ATTRIBUTES,
|
||||
smb_fname->base_name);
|
||||
}
|
||||
if (ret == 0) {
|
||||
smb_fname->st.st_ex_mode = unixmode;
|
||||
}
|
||||
/*
|
||||
* We need to open the file with write access whilst
|
||||
* still in our current user context. This ensures we
|
||||
* are not violating security in doing the fchmod.
|
||||
*/
|
||||
if (!NT_STATUS_IS_OK(open_file_fchmod(conn, smb_fname,
|
||||
&fsp)))
|
||||
return -1;
|
||||
become_root();
|
||||
ret = SMB_VFS_FCHMOD(fsp, unixmode);
|
||||
unbecome_root();
|
||||
close_file(NULL, fsp, NORMAL_CLOSE);
|
||||
if (!newfile) {
|
||||
notify_fname(conn, NOTIFY_ACTION_MODIFIED,
|
||||
FILE_NOTIFY_CHANGE_ATTRIBUTES,
|
||||
smb_fname->base_name);
|
||||
}
|
||||
if (ret == 0) {
|
||||
smb_fname->st.st_ex_mode = unixmode;
|
||||
}
|
||||
|
||||
return( ret );
|
||||
|
Loading…
x
Reference in New Issue
Block a user