diff options
-rw-r--r-- | source3/smbd/reply.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 9184a1a696..63f8d0bb61 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -1004,6 +1004,15 @@ int reply_setatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size return ERROR_NT(NT_STATUS_OBJECT_PATH_NOT_FOUND); } + if (strequal(fname, ".")) { + /* + * Not sure here is the right place to catch this + * condition. Might be moved to somewhere else later -- vl + */ + END_PROFILE(SMBsetatr); + return ERROR_NT(NT_STATUS_ACCESS_DENIED); + } + mode = SVAL(inbuf,smb_vwv0); mtime = srv_make_unix_date3(inbuf+smb_vwv1); |