]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:libsmb: Use a long living context for cli_resolve_path()
authorAndreas Schneider <asn@samba.org>
Thu, 30 Oct 2025 10:03:35 +0000 (11:03 +0100)
committerAnoop C S <anoopcs@samba.org>
Thu, 6 Nov 2025 08:56:31 +0000 (08:56 +0000)
Signed-off-by: Andreas Schneider <asn@samba.org>
v

source3/libsmb/libsmb_dir.c
source3/libsmb/libsmb_file.c
source3/libsmb/libsmb_stat.c
source3/libsmb/libsmb_xattr.c

index 8f98da1b28aa2c5cd5bc176657402a037ee02374..2310990a22c0352a717bf44eda1a33e019f5b6e0 100644 (file)
@@ -932,7 +932,8 @@ SMBC_opendir_ctx(SMBCCTX *context,
                        creds = context->internal->creds;
 
                        status = cli_resolve_path(
-                               frame, "",
+                               context->internal->mem_ctx,
+                               "",
                                creds,
                                srv->cli, path, &targetcli, &targetpath);
                        if (!NT_STATUS_IS_OK(status)) {
@@ -1593,7 +1594,8 @@ SMBC_mkdir_ctx(SMBCCTX *context,
        creds = context->internal->creds;
 
        /*d_printf(">>>mkdir: resolving %s\n", path);*/
-       status = cli_resolve_path(frame, "",
+       status = cli_resolve_path(context->internal->mem_ctx,
+                                 "",
                                  creds,
                                  srv->cli, path, &targetcli, &targetpath);
        if (!NT_STATUS_IS_OK(status)) {
@@ -1708,7 +1710,8 @@ SMBC_rmdir_ctx(SMBCCTX *context,
        creds = context->internal->creds;
 
        /*d_printf(">>>rmdir: resolving %s\n", path);*/
-       status = cli_resolve_path(frame, "",
+       status = cli_resolve_path(context->internal->mem_ctx,
+                                 "",
                                  creds,
                                  srv->cli, path, &targetcli, &targetpath);
        if (!NT_STATUS_IS_OK(status)) {
@@ -2019,7 +2022,8 @@ SMBC_chmod_ctx(SMBCCTX *context,
        creds = context->internal->creds;
 
        /*d_printf(">>>unlink: resolving %s\n", path);*/
-       status = cli_resolve_path(frame, "",
+       status = cli_resolve_path(context->internal->mem_ctx,
+                                 "",
                                  creds,
                                  srv->cli, path, &targetcli, &targetpath);
        if (!NT_STATUS_IS_OK(status)) {
@@ -2223,7 +2227,8 @@ SMBC_unlink_ctx(SMBCCTX *context,
        creds = context->internal->creds;
 
        /*d_printf(">>>unlink: resolving %s\n", path);*/
-       status = cli_resolve_path(frame, "",
+       status = cli_resolve_path(context->internal->mem_ctx,
+                                 "",
                                  creds,
                                  srv->cli, path, &targetcli, &targetpath);
        if (!NT_STATUS_IS_OK(status)) {
@@ -2405,7 +2410,8 @@ SMBC_rename_ctx(SMBCCTX *ocontext,
        /*d_printf(">>>rename: resolving %s\n", path1);*/
        ocreds = ocontext->internal->creds;
 
-       status = cli_resolve_path(frame, "",
+       status = cli_resolve_path(ocontext->internal->mem_ctx,
+                                 "",
                                  ocreds,
                                  srv->cli, path1, &targetcli1, &targetpath1);
        if (!NT_STATUS_IS_OK(status)) {
@@ -2425,7 +2431,8 @@ SMBC_rename_ctx(SMBCCTX *ocontext,
        /*d_printf(">>>rename: resolving %s\n", path2);*/
        ncreds = ncontext->internal->creds;
 
-       status = cli_resolve_path(frame, "",
+       status = cli_resolve_path(ncontext->internal->mem_ctx,
+                                 "",
                                  ncreds,
                                  srv->cli, path2, &targetcli2, &targetpath2);
        if (!NT_STATUS_IS_OK(status)) {
index 79a00af454677b295ab5ef41777bceda2390090e..2722d2f725d1f37d53089e9ea0a13666115b1926 100644 (file)
@@ -128,7 +128,8 @@ SMBC_open_ctx(SMBCCTX *context,
        creds = context->internal->creds;
        /*d_printf(">>>open: resolving %s\n", path);*/
        status = cli_resolve_path(
-               frame, "",
+               context->internal->mem_ctx,
+               "",
                creds,
                srv->cli, path, &targetcli, &targetpath);
        if (!NT_STATUS_IS_OK(status)) {
@@ -536,7 +537,8 @@ SMBC_getatr(SMBCCTX * context,
 
        creds = context->internal->creds;
 
-       status = cli_resolve_path(frame, "",
+       status = cli_resolve_path(context->internal->mem_ctx,
+                                 "",
                                  creds,
                                  srv->cli, fixedpath,
                                  &targetcli, &targetpath);
index 56192b61333a5fc25743340adffb29d6a3f2c1b5..c4233891c68ee7982d7c2ecdf25ccff23123e4f6 100644 (file)
@@ -258,7 +258,8 @@ SMBC_fstat_ctx(SMBCCTX *context,
        creds = context->internal->creds;
 
        /*d_printf(">>>fstat: resolving %s\n", path);*/
-       status = cli_resolve_path(frame, "",
+       status = cli_resolve_path(context->internal->mem_ctx,
+                                 "",
                                  creds,
                                  file->srv->cli, path,
                                  &targetcli, &targetpath);
index 079253baeec43fd0daa7f17230890f3212ac4216..db9e5ddb751dfd15642f804f797a65f4ec76bd2a 100644 (file)
@@ -872,7 +872,8 @@ cacl_get(SMBCCTX *context,
                creds = context->internal->creds;
 
                status = cli_resolve_path(
-                       ctx, "",
+                       context->internal->mem_ctx,
+                       "",
                        creds,
                        cli, filename, &targetcli, &targetpath);
                if (!NT_STATUS_IS_OK(status)) {
@@ -1559,7 +1560,8 @@ cacl_set(SMBCCTX *context,
 
        creds = context->internal->creds;
 
-       status = cli_resolve_path(ctx, "",
+       status = cli_resolve_path(context->internal->mem_ctx,
+                                 "",
                                  creds,
                                  cli, filename, &targetcli, &targetpath);
        if (!NT_STATUS_IS_OK(status)) {