From: Jeremy Allison Date: Fri, 6 Sep 2019 21:05:43 +0000 (-0700) Subject: s3: torture: vfstest: Change from create_conn_struct_tos() -> create_conn_struct_tos_... X-Git-Tag: talloc-2.3.1~909 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d9d704b01e21fbc6b05164a5d1fee772f1836fa9;p=thirdparty%2Fsamba.git s3: torture: vfstest: Change from create_conn_struct_tos() -> create_conn_struct_tos_cwd(). This does a vfs_ChDir() to the share root (not changing the directory) which correctly sets up the conn->cwd_fsp member so any XXXAT() calls correctly work inside vfstest. Signed-off-by: Jeremy Allison Reviewed-by: Ralph Boehme --- diff --git a/source3/torture/vfstest.c b/source3/torture/vfstest.c index 07079439135..6a2fe59a2d8 100644 --- a/source3/torture/vfstest.c +++ b/source3/torture/vfstest.c @@ -469,7 +469,7 @@ int main(int argc, const char *argv[]) struct vfs_state *vfs; int i; char *filename = NULL; - char cwd[MAXPATHLEN]; + char *cwd = NULL; TALLOC_CTX *frame = talloc_stackframe(); struct auth_session_info *session_info = NULL; NTSTATUS status = NT_STATUS_OK; @@ -560,11 +560,18 @@ int main(int argc, const char *argv[]) return 1; } - status = create_conn_struct_tos(global_messaging_context(), + /* Provided by libreplace if not present. Always mallocs. */ + cwd = get_current_dir_name(); + if (cwd == NULL) { + return -1; + } + + status = create_conn_struct_tos_cwd(global_messaging_context(), -1, - getcwd(cwd, sizeof(cwd)), + cwd, session_info, &c); + SAFE_FREE(cwd); if (!NT_STATUS_IS_OK(status)) { return 1; }