[PATCH 24/37] param: Ensure the correct mem context is always being used from s3
abartlet at samba.org
abartlet at samba.org
Fri Jun 20 05:47:46 MDT 2014
From: Garming Sam <garming at catalyst.net.nz>
Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Change-Id: I7b93822d0d06b00f08fecc2e55778767dd785b91
---
lib/param/loadparm.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 0ee6e17..32b4c11 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -1386,7 +1386,14 @@ static bool lp_do_parameter_parametric(struct loadparm_context *lp_ctx,
if (service == NULL) {
data = &lp_ctx->globals->param_opt;
- mem_ctx = lp_ctx->globals;
+ /**
+ * s3 code cannot deal with parametric options stored on the globals ctx.
+ */
+ if (lp_ctx->s3_fns != NULL) {
+ mem_ctx = NULL;
+ } else {
+ mem_ctx = lp_ctx->globals->ctx;
+ }
} else {
data = &service->param_opt;
mem_ctx = service;
@@ -1591,7 +1598,7 @@ bool lpcfg_do_global_parameter(struct loadparm_context *lp_ctx,
parm_ptr = lpcfg_parm_ptr(lp_ctx, NULL, &parm_table[parmnum]);
- return set_variable(lp_ctx->globals, parmnum, parm_ptr,
+ return set_variable(lp_ctx->globals->ctx, parmnum, parm_ptr,
pszParmName, pszParmValue, lp_ctx, true);
}
--
1.9.3
More information about the samba-technical
mailing list