diff options
-rw-r--r-- | source3/smbd/dosmode.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c index 3a06dfe59a..31c4fbdf31 100644 --- a/source3/smbd/dosmode.c +++ b/source3/smbd/dosmode.c @@ -235,9 +235,10 @@ int file_chmod(connection_struct *conn,char *fname,int dosmode,SMB_STRUCT_STAT * unixmode |= (st->st_mode & (S_IWUSR|S_IWGRP|S_IWOTH)); } - ret = vfs_chmod(conn,fname,unixmode); + if ((ret = vfs_chmod(conn,fname,unixmode)) == 0) + return 0; - if((ret == -1) && (errno != EPERM) && (errno != EACCES)) + if((errno != EPERM) && (errno != EACCES)) return -1; if(!lp_dos_filemode(SNUM(conn))) |