s3/winbindd: use parse_domain_user instead of parse_domain_user_fstr
authorNoel Power <noel.power@suse.com>
Mon, 23 Oct 2023 14:09:25 +0000 (15:09 +0100)
committerNoel Power <npower@samba.org>
Tue, 24 Oct 2023 12:43:37 +0000 (12:43 +0000)
In canonicalize_username replace use of parse_domain_user_fstr
with parse_domain_user

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_util.c

index 1f3786376f271c9ce07c2be257a92391b53e182d..443f7c1a108b99767b71e062f15e5ec1543ab102 100644 (file)
@@ -1686,42 +1686,23 @@ bool canonicalize_username(TALLOC_CTX *mem_ctx,
        char *domain = NULL;
        char *user = NULL;
        char *username_inout = NULL;
-       fstring f_username_inout;
-       fstring f_namespace;
-       fstring f_domain;
-       fstring f_user;
-
-       fstrcpy(f_username_inout, *pusername_inout);
-       fstrcpy(f_namespace, *pnamespace);
-       fstrcpy(f_domain, *pdomain);
-       fstrcpy(f_user, *puser);
-
-       ok = parse_domain_user_fstr(f_username_inout,
-                       f_namespace, f_domain, f_user);
+
+       ok = parse_domain_user(mem_ctx,
+                       *pusername_inout,
+                       &namespace, &domain, &user);
+
        if (!ok) {
                return False;
        }
 
        username_inout = talloc_asprintf(mem_ctx, "%s%c%s",
-                f_domain, *lp_winbind_separator(),
-                f_user);
+                domain, *lp_winbind_separator(),
+                user);
 
        if (username_inout == NULL) {
                goto fail;
        }
 
-       user = talloc_strdup(mem_ctx, f_user);
-       if (user == NULL) {
-               goto fail;
-       }
-       domain = talloc_strdup(mem_ctx, f_domain);
-       if (domain == NULL) {
-               goto fail;
-       }
-       namespace = talloc_strdup(mem_ctx, f_namespace);
-       if (namespace == NULL) {
-               goto fail;
-       }
        *pnamespace = namespace;
        *puser = user;
        *pdomain = domain;