summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/reply.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index c729f22728..49f4e97028 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -3482,8 +3482,9 @@ NTSTATUS rename_internals(connection_struct *conn, char *name, char *newname, BO
unix_convert(newname,conn,newname_last_component,&bad_path2,&sbuf2);
/* Quick check for "." and ".." */
- if (newname_last_component[0] == '.') {
+ if (!bad_path2 && newname_last_component[0] == '.') {
if (!newname_last_component[1] || (newname_last_component[1] == '.' && !newname_last_component[2])) {
+ DEBUG(10,("rename_internals: newname_last_component = '.' or '..'\n"));
return NT_STATUS_ACCESS_DENIED;
}
}