s3:passdb: handle dom_sid=NULL in create_builtin_{users,administrators}()
authorStefan Metzmacher <metze@samba.org>
Tue, 13 Mar 2018 20:35:48 +0000 (21:35 +0100)
committerRalph Boehme <slow@samba.org>
Thu, 15 Mar 2018 20:54:16 +0000 (21:54 +0100)
We should not crash if we're called with NULL.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13328

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/passdb/pdb_util.c

index bf7b2b8abd1015212c2f78236b9cce8b3eb98d8d..309eb893f8a8e9037be0319d268bf52e006752b2 100644 (file)
@@ -130,8 +130,9 @@ NTSTATUS create_builtin_users(const struct dom_sid *dom_sid)
        }
 
        /* add domain users */
-       if ((IS_DC || (lp_server_role() == ROLE_DOMAIN_MEMBER))
-               && sid_compose(&dom_users, dom_sid, DOMAIN_RID_USERS))
+       if ((IS_DC || (lp_server_role() == ROLE_DOMAIN_MEMBER)) &&
+           (dom_sid != NULL) &&
+           sid_compose(&dom_users, dom_sid, DOMAIN_RID_USERS))
        {
                status = add_sid_to_builtin(&global_sid_Builtin_Users,
                                            &dom_users);
@@ -159,8 +160,9 @@ NTSTATUS create_builtin_administrators(const struct dom_sid *dom_sid)
        }
 
        /* add domain admins */
-       if ((IS_DC || (lp_server_role() == ROLE_DOMAIN_MEMBER))
-               && sid_compose(&dom_admins, dom_sid, DOMAIN_RID_ADMINS))
+       if ((IS_DC || (lp_server_role() == ROLE_DOMAIN_MEMBER)) &&
+           (dom_sid != NULL) &&
+           sid_compose(&dom_admins, dom_sid, DOMAIN_RID_ADMINS))
        {
                status = add_sid_to_builtin(&global_sid_Builtin_Administrators,
                                            &dom_admins);