From: Noel Power Date: Fri, 20 Oct 2023 11:22:10 +0000 (+0100) Subject: s3/winbindd: replace parse_domain_user_fn with parse_domain_user X-Git-Tag: talloc-2.4.2~1163 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=89fb5eee53c969f8375238e52dbe04f3d9568fe5;p=thirdparty%2Fsamba.git s3/winbindd: replace parse_domain_user_fn with parse_domain_user In winbindd_getgrnam_send use parse_domain_user instead of parse_domain_user_fstr Signed-off-by: Noel Power Reviewed-by: Andrew Bartlett Reviewed-by: Andreas Schneider --- diff --git a/source3/winbindd/winbindd_getgrnam.c b/source3/winbindd/winbindd_getgrnam.c index f0b4b30d0a2..6b277c2dc97 100644 --- a/source3/winbindd/winbindd_getgrnam.c +++ b/source3/winbindd/winbindd_getgrnam.c @@ -24,7 +24,9 @@ struct winbindd_getgrnam_state { struct tevent_context *ev; - fstring name_namespace, name_domain, name_group; + char *name_namespace; + char *name_domain; + char *name_group; struct dom_sid sid; const char *domname; const char *name; @@ -73,10 +75,10 @@ struct tevent_req *winbindd_getgrnam_send(TALLOC_CTX *mem_ctx, /* Parse domain and groupname */ - ok = parse_domain_user_fstr(tmp, - state->name_namespace, - state->name_domain, - state->name_group); + ok = parse_domain_user(state, tmp, + &state->name_namespace, + &state->name_domain, + &state->name_group); if (!ok) { DBG_INFO("Could not parse domain user: %s\n", tmp); tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); @@ -88,7 +90,12 @@ struct tevent_req *winbindd_getgrnam_send(TALLOC_CTX *mem_ctx, if ( !*(state->name_domain) || strequal(state->name_domain, get_global_sam_name()) ) { - fstrcpy(state->name_domain, get_global_sam_name()); + TALLOC_FREE(state->name_domain); + state->name_domain = talloc_strdup(state, + get_global_sam_name()); + if (tevent_req_nomem(state->name_domain, req)) { + return tevent_req_post(req, ev); + } } subreq = wb_lookupname_send(state, ev,