1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-26 21:57:41 +03:00

s3: VFS: vfs_streams_xattr.c: Make streams_xattr_open() store the same path as streams_xattr_recheck().

If the open is changing directories, fsp->fsp_name->base_name
will be the full path from the share root, whilst
smb_fname will be relative to the $cwd.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12546

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Böhme <slow@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Feb  2 01:55:42 CET 2017 on sn-devel-144

(cherry picked from commit a24ba3e4083200ec9885363efc5769f43183fb6b)
This commit is contained in:
Jeremy Allison 2017-02-01 11:36:25 -08:00 committed by Karolin Seeger
parent 5410367fe6
commit 5f84242406

View File

@ -527,8 +527,15 @@ static int streams_xattr_open(vfs_handle_struct *handle,
sio->xattr_name = talloc_strdup(VFS_MEMCTX_FSP_EXTENSION(handle, fsp), sio->xattr_name = talloc_strdup(VFS_MEMCTX_FSP_EXTENSION(handle, fsp),
xattr_name); xattr_name);
/*
* so->base needs to be a copy of fsp->fsp_name->base_name,
* making it identical to streams_xattr_recheck(). If the
* open is changing directories, fsp->fsp_name->base_name
* will be the full path from the share root, whilst
* smb_fname will be relative to the $cwd.
*/
sio->base = talloc_strdup(VFS_MEMCTX_FSP_EXTENSION(handle, fsp), sio->base = talloc_strdup(VFS_MEMCTX_FSP_EXTENSION(handle, fsp),
smb_fname->base_name); fsp->fsp_name->base_name);
sio->fsp_name_ptr = fsp->fsp_name; sio->fsp_name_ptr = fsp->fsp_name;
sio->handle = handle; sio->handle = handle;
sio->fsp = fsp; sio->fsp = fsp;