summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1997-10-21 13:03:46 +0000
committerAndrew Tridgell <tridge@samba.org>1997-10-21 13:03:46 +0000
commitafd7592ffd74fbc77f4b177b007291df95f418ef (patch)
tree0b1ecb0f941ba0d13d39604da0123186a2ca1462
parent454802d5922bf2b2c6df1f084e183611937ee5fb (diff)
downloadsamba-afd7592ffd74fbc77f4b177b007291df95f418ef.tar.gz
samba-afd7592ffd74fbc77f4b177b007291df95f418ef.tar.xz
samba-afd7592ffd74fbc77f4b177b007291df95f418ef.zip
check for EPERM or EACCESS in file_utime()
-rw-r--r--source/smbd/server.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/smbd/server.c b/source/smbd/server.c
index 28364d9c0c9..5f925df6872 100644
--- a/source/smbd/server.c
+++ b/source/smbd/server.c
@@ -318,10 +318,15 @@ int file_utime(int cnum, char *fname, struct utimbuf *times)
struct stat sb;
int ret = -1;
+ errno = 0;
+
if(sys_utime(fname, times) == 0)
return 0;
- if((errno != EPERM) || !lp_dos_filetimes(SNUM(cnum)))
+ if((errno != EPERM) && (errno != EACCESS))
+ return -1;
+
+ if(!lp_dos_filetimes(SNUM(cnum)))
return -1;
/* We have permission (given by the Samba admin) to