From: Volker Lendecke Date: Thu, 10 Oct 2024 08:16:14 +0000 (+0200) Subject: smbd: Slightly simplify filename_convert_dirfsp_nosymlink() X-Git-Tag: tdb-1.4.13~523 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=82fd2230a8967a29288259d82acca7b6831e717d;p=thirdparty%2Fsamba.git smbd: Slightly simplify filename_convert_dirfsp_nosymlink() Reference conn->cwd_fsp just once, shrinks next patches Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c index 8f7d25841d3..2ae6edde4c3 100644 --- a/source3/smbd/filename.c +++ b/source3/smbd/filename.c @@ -667,6 +667,7 @@ fail: static NTSTATUS filename_convert_dirfsp_nosymlink( TALLOC_CTX *mem_ctx, connection_struct *conn, + struct files_struct *basedir, const char *name_in, uint32_t ucf_flags, NTTIME twrp, @@ -704,7 +705,7 @@ static NTSTATUS filename_convert_dirfsp_nosymlink( .st_ex_ctime = omit, }; - *_dirfsp = conn->cwd_fsp; + *_dirfsp = basedir; *_smb_fname = smb_fname; return NT_STATUS_OK; } @@ -750,15 +751,14 @@ static NTSTATUS filename_convert_dirfsp_nosymlink( } if (dirname[0] == '\0') { - status = synthetic_pathref( - mem_ctx, - conn->cwd_fsp, - ".", - NULL, - NULL, - 0, - posix ? SMB_FILENAME_POSIX_PATH : 0, - &smb_dirname); + status = synthetic_pathref(mem_ctx, + basedir, + ".", + NULL, + NULL, + 0, + posix ? SMB_FILENAME_POSIX_PATH : 0, + &smb_dirname); } else { status = normalize_filename_case(conn, dirname, ucf_flags); if (!NT_STATUS_IS_OK(status)) { @@ -770,7 +770,7 @@ static NTSTATUS filename_convert_dirfsp_nosymlink( status = openat_pathref_fsp_nosymlink(mem_ctx, conn, - conn->cwd_fsp, + basedir, dirname, twrp, posix, @@ -1090,6 +1090,7 @@ next: status = filename_convert_dirfsp_nosymlink(mem_ctx, conn, + conn->cwd_fsp, name_in, ucf_flags, twrp,