s3: torture: vfstest: Change from create_conn_struct_tos() -> create_conn_struct_tos_...
authorJeremy Allison <jra@samba.org>
Fri, 6 Sep 2019 21:05:43 +0000 (14:05 -0700)
committerRalph Boehme <slow@samba.org>
Wed, 11 Sep 2019 18:24:28 +0000 (18:24 +0000)
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 <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/torture/vfstest.c

index 0707943913568f3aeb5ace9f877d70e84212848b..6a2fe59a2d80ea6b2c1e9ec925fdca119993878a 100644 (file)
@@ -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;
        }