From: John Mulligan Date: Wed, 4 May 2022 14:57:49 +0000 (-0400) Subject: s3/lib/smbconf: replace uses of talloc_tos with talloc_stackframe X-Git-Tag: talloc-2.3.4~242 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3453ab999436cd2a46ea4b614332f1e04974d4e2;p=thirdparty%2Fsamba.git s3/lib/smbconf: replace uses of talloc_tos with talloc_stackframe There are two calls to talloc_tos in the smbconf registry code. In order not to make callers of this library have to "know" what calls need an existing talloc stackframe, convert these uses to match other functions in the same file that already use talloc_stackframe. Signed-off-by: John Mulligan Reviewed-by: Jeremy Allison Reviewed-by: Douglas Bagnall --- diff --git a/source3/lib/smbconf/smbconf_reg.c b/source3/lib/smbconf/smbconf_reg.c index c923f3b6820..52332ce6dd9 100644 --- a/source3/lib/smbconf/smbconf_reg.c +++ b/source3/lib/smbconf/smbconf_reg.c @@ -180,6 +180,7 @@ static sbcErr smbconf_reg_set_value(struct registry_key *key, char *subkeyname; const char *canon_valname; const char *canon_valstr; + TALLOC_CTX *tmp_ctx = talloc_stackframe(); if (!lp_parameter_is_valid(valname)) { DEBUG(5, ("Invalid parameter '%s' given.\n", valname)); @@ -229,7 +230,7 @@ static sbcErr smbconf_reg_set_value(struct registry_key *key, ZERO_STRUCT(val); val.type = REG_SZ; - if (!push_reg_sz(talloc_tos(), &val.data, canon_valstr)) { + if (!push_reg_sz(tmp_ctx, &val.data, canon_valstr)) { err = SBC_ERR_NOMEM; goto done; } @@ -245,6 +246,7 @@ static sbcErr smbconf_reg_set_value(struct registry_key *key, err = SBC_ERR_OK; done: + talloc_free(tmp_ctx); return err; } @@ -859,15 +861,16 @@ static sbcErr smbconf_reg_create_share(struct smbconf_ctx *ctx, { sbcErr err; struct registry_key *key = NULL; + TALLOC_CTX *tmp_ctx = talloc_stackframe(); if (servicename == NULL) { return SBC_ERR_OK; } - err = smbconf_reg_create_service_key(talloc_tos(), ctx, + err = smbconf_reg_create_service_key(tmp_ctx, ctx, servicename, &key); - talloc_free(key); + talloc_free(tmp_ctx); return err; }