]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3/winbindd: replace parse_domain_user_fn with parse_domain_user
authorNoel Power <noel.power@suse.com>
Fri, 20 Oct 2023 11:22:10 +0000 (12:22 +0100)
committerNoel Power <npower@samba.org>
Tue, 24 Oct 2023 12:43:37 +0000 (12:43 +0000)
In winbindd_getgrnam_send use parse_domain_user instead of
parse_domain_user_fstr

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/winbindd/winbindd_getgrnam.c

index f0b4b30d0a21f176e6fb76a8e7649639edbf2613..6b277c2dc9708c1ab7b5e7517cc7cf06f92f0d42 100644 (file)
@@ -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,