r21149: Only say we are a groupmember for the optimized (rid 513) membership
authorGünther Deschner <gd@samba.org>
Mon, 5 Feb 2007 15:04:09 +0000 (15:04 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:17:43 +0000 (12:17 -0500)
lookup when we actually are. Although the Linux nss winbind backend
protects against num_mem != 0 && buf == NULL.

Guenther
(This used to be commit a9ac4630b46242f88bd7a4e92511b55cc82e9940)

source3/nsswitch/winbindd_group.c

index 51d595b94763cf1d91a3075b71c763e0723284d7..4215aef5dd78db162024389966968d364f16b871 100644 (file)
@@ -221,6 +221,7 @@ static BOOL fill_grent_mem(struct winbindd_domain *domain,
        
        DEBUG(10, ("group SID %s\n", sid_to_string(sid_string, group_sid)));
 
+       /* Initialize with no members */
        *num_gr_mem = 0;
 
        /* HACK ALERT!! This whole routine does not cope with group members
@@ -340,11 +341,13 @@ static BOOL fill_grent_mem(struct winbindd_domain *domain,
 
                        DEBUG(10,("fill_grent_mem: user %s in 'Domain Users' in domain %s\n",
                                name, domain->name ));
+
+                       /* user is the only member */
+                       *num_gr_mem = 1;
                }
                
                *gr_mem = buf;
                *gr_mem_len = buf_len;
-               *num_gr_mem = 1;
 
                DEBUG(10, ("num_mem = %u, len = %u, mem = %s\n", (unsigned int)*num_gr_mem, 
                   (unsigned int)buf_len, *num_gr_mem ? buf : "NULL"));