smbd: use parent_smb_fname() in open_file_ntcreate()
authorRalph Boehme <slow@samba.org>
Tue, 28 Apr 2020 14:44:00 +0000 (16:44 +0200)
committerJeremy Allison <jra@samba.org>
Wed, 29 Apr 2020 16:39:40 +0000 (16:39 +0000)
Prepares for converting a bunch of functions to struct smb_filename later.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/smbd/open.c

index 4d273aa930ac40725d9d29082e0bce0dfd98dd3d..71be6a4966f3991da9a2ac6d9865f5f18ad5b18c 100644 (file)
@@ -3276,6 +3276,7 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
        struct share_mode_lock *lck = NULL;
        uint32_t open_access_mask = access_mask;
        NTSTATUS status;
+       struct smb_filename *parent_dir_fname = NULL;
        char *parent_dir;
        SMB_STRUCT_STAT saved_stat = smb_fname->st;
        struct timespec old_write_time;
@@ -3306,10 +3307,14 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
                                        req->vuid);
        }
 
-       if (!parent_dirname(talloc_tos(), smb_fname->base_name, &parent_dir,
-                           NULL)) {
+       ok = parent_smb_fname(talloc_tos(),
+                             smb_fname,
+                             &parent_dir_fname,
+                             NULL);
+       if (!ok) {
                return NT_STATUS_NO_MEMORY;
        }
+       parent_dir = parent_dir_fname->base_name;
 
        if (new_dos_attributes & FILE_FLAG_POSIX_SEMANTICS) {
                posix_open = True;