X-Git-Url: http://git.samba.org/?p=samba.git;a=blobdiff_plain;f=source3%2Flibnet%2Flibnet_join.c;h=bbbd06e1187b7f542201d83f6d936650d051df08;hp=3d66eaf6dd5dd3817fe1bf49eef98cfd23952281;hb=631e063f6bb49da426ca7343b6987f7831078d7f;hpb=0c4e13243826871e0597fcd37bd90b184c296e21 diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index 3d66eaf6dd5..bbbd06e1187 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -2131,11 +2131,21 @@ static WERROR libnet_join_pre_processing(TALLOC_CTX *mem_ctx, if (!r->in.admin_domain) { char *admin_domain = NULL; char *admin_account = NULL; - split_domain_user(mem_ctx, - r->in.admin_account, - &admin_domain, - &admin_account); - r->in.admin_domain = admin_domain; + bool ok; + + ok = split_domain_user(mem_ctx, + r->in.admin_account, + &admin_domain, + &admin_account); + if (!ok) { + return WERR_NOMEM; + } + + if (admin_domain != NULL) { + r->in.admin_domain = admin_domain; + } else { + r->in.admin_domain = r->in.domain_name; + } r->in.admin_account = admin_account; } @@ -2814,11 +2824,21 @@ static WERROR libnet_unjoin_pre_processing(TALLOC_CTX *mem_ctx, if (!r->in.admin_domain) { char *admin_domain = NULL; char *admin_account = NULL; - split_domain_user(mem_ctx, - r->in.admin_account, - &admin_domain, - &admin_account); - r->in.admin_domain = admin_domain; + bool ok; + + ok = split_domain_user(mem_ctx, + r->in.admin_account, + &admin_domain, + &admin_account); + if (!ok) { + return WERR_NOMEM; + } + + if (admin_domain != NULL) { + r->in.admin_domain = admin_domain; + } else { + r->in.admin_domain = r->in.domain_name; + } r->in.admin_account = admin_account; }