summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/dosmode.c5
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)))