From: Jeremy Allison Date: Wed, 20 Jan 2021 19:59:16 +0000 (-0800) Subject: VFS: shadow_copy2: Fixup shadow_copy2_mknodat() to correctly use the dirfsp path. X-Git-Tag: tevent-0.11.0~2033 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f74056a916aef9925cae76016378b993560e22b;p=thirdparty%2Fsamba.git VFS: shadow_copy2: Fixup shadow_copy2_mknodat() to correctly use the dirfsp path. Missed in my original fixes. Signed-off-by: Jeremy Allison Reviewed-by: Ralph Böhme --- diff --git a/source3/modules/vfs_shadow_copy2.c b/source3/modules/vfs_shadow_copy2.c index 227ac148260..174f246bdad 100644 --- a/source3/modules/vfs_shadow_copy2.c +++ b/source3/modules/vfs_shadow_copy2.c @@ -1625,13 +1625,23 @@ static int shadow_copy2_mknodat(vfs_handle_struct *handle, mode_t mode, SMB_DEV_T dev) { + struct smb_filename *full_fname = NULL; time_t timestamp = 0; + full_fname = full_path_from_dirfsp_atname(talloc_tos(), + dirfsp, + smb_fname); + if (full_fname == NULL) { + return -1; + } + if (!shadow_copy2_strip_snapshot(talloc_tos(), handle, - smb_fname, + full_fname, ×tamp, NULL)) { + TALLOC_FREE(full_fname); return -1; } + TALLOC_FREE(full_fname); if (timestamp != 0) { errno = EROFS; return -1;