From: Ralph Boehme Date: Mon, 14 Dec 2020 14:29:10 +0000 (+0100) Subject: vfs_unityed_media: support real dirfsps in um_mkdirat() X-Git-Tag: samba-4.14.0rc1~205 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9bafb8940331fed0432f3e93aee346f3ea4c62df;p=thirdparty%2Fsamba.git vfs_unityed_media: support real dirfsps in um_mkdirat() Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison --- diff --git a/source3/modules/vfs_unityed_media.c b/source3/modules/vfs_unityed_media.c index 72c2e488dd6..4c2cc778c88 100644 --- a/source3/modules/vfs_unityed_media.c +++ b/source3/modules/vfs_unityed_media.c @@ -744,6 +744,7 @@ static int um_mkdirat(vfs_handle_struct *handle, int status; const char *path = smb_fname->base_name; struct smb_filename *client_fname = NULL; + struct smb_filename *full_fname = NULL; DEBUG(10, ("Entering with path '%s'\n", path)); @@ -754,20 +755,28 @@ static int um_mkdirat(vfs_handle_struct *handle, mode); } + full_fname = full_path_from_dirfsp_atname(talloc_tos(), + dirfsp, + smb_fname); + if (full_fname == NULL) { + return -1; + } + status = alloc_get_client_smb_fname(handle, talloc_tos(), - smb_fname, + full_fname, &client_fname); if (status != 0) { goto err; } status = SMB_VFS_NEXT_MKDIRAT(handle, - dirfsp, + handle->conn->cwd_fsp, client_fname, mode); err: TALLOC_FREE(client_fname); + TALLOC_FREE(full_fname); DEBUG(10, ("Leaving with path '%s'\n", path)); return status; }