]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r24017: merge from http://samba.org/~tridge/samba_3_2_ctdb/:
authorStefan Metzmacher <metze@samba.org>
Tue, 24 Jul 2007 08:59:36 +0000 (08:59 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:28:56 +0000 (12:28 -0500)
add add_trusted_domain() can return NULL

metze
(This used to be commit 12440efe0bab70a8a1b5100d77e387ce1c371a4e)

source3/nsswitch/winbindd_util.c

index a6fd0a78707d18efbbc1e38864ea7e4d308e7cab..7170e0fc6e1e39996a255965bdfae1af42d6f634 100644 (file)
@@ -323,7 +323,9 @@ static void trustdom_recv(void *private_data, BOOL success)
                        domain = add_trusted_domain(p, alternate_name,
                                                    &cache_methods,
                                                    &sid);
-                       setup_domain_child(domain, &domain->child, NULL);
+                       if (domain) {
+                               setup_domain_child(domain, &domain->child, NULL);
+                       }
                }
                p=q;
                if (p != NULL)
@@ -702,32 +704,38 @@ BOOL init_domain_list(void)
        
                domain = add_trusted_domain( lp_workgroup(), lp_realm(),
                                             &cache_methods, &our_sid);
-               domain->primary = True;
-               setup_domain_child(domain, &domain->child, NULL);
+               if (domain) {
+                       domain->primary = True;
+                       setup_domain_child(domain, &domain->child, NULL);
                
-               /* Even in the parent winbindd we'll need to
-                  talk to the DC, so try and see if we can
-                  contact it. Theoretically this isn't neccessary
-                  as the init_dc_connection() in init_child_recv()
-                  will do this, but we can start detecting the DC
-                  early here. */
-               set_domain_online_request(domain);
+                       /* Even in the parent winbindd we'll need to
+                          talk to the DC, so try and see if we can
+                          contact it. Theoretically this isn't neccessary
+                          as the init_dc_connection() in init_child_recv()
+                          will do this, but we can start detecting the DC
+                          early here. */
+                       set_domain_online_request(domain);
+               }
        }
 
        /* Local SAM */
 
        domain = add_trusted_domain(get_global_sam_name(), NULL,
                                    &passdb_methods, get_global_sam_sid());
-       if ( role != ROLE_DOMAIN_MEMBER ) {
-               domain->primary = True;
+       if (domain) {
+               if ( role != ROLE_DOMAIN_MEMBER ) {
+                       domain->primary = True;
+               }
+               setup_domain_child(domain, &domain->child, NULL);
        }
-       setup_domain_child(domain, &domain->child, NULL);
 
        /* BUILTIN domain */
 
        domain = add_trusted_domain("BUILTIN", NULL, &passdb_methods,
                                    &global_sid_Builtin);
-       setup_domain_child(domain, &domain->child, NULL);
+       if (domain) {
+               setup_domain_child(domain, &domain->child, NULL);
+       }
 
        return True;
 }