r470: BUG 1302: fix seg fault by not trying to optimize a list of invalid gids using...
authorGerald Carter <jerry@samba.org>
Tue, 4 May 2004 14:28:05 +0000 (14:28 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:51:24 +0000 (10:51 -0500)
(This used to be commit 3003769164ed1265f57504f240e56f4a4ba34550)

source3/lib/system_smbd.c

index 7edc7ca98f9e9bc50bf48064271524fe28f313dd..55c2338ebd630ef2713d374da268542f542e6e3b 100644 (file)
@@ -88,6 +88,10 @@ static int getgrouplist_internals(const char *user, gid_t gid, gid_t *groups, in
                        groups[0] = gid;
                        *grpcnt = ret + 1;
                }
+               
+               /* remove any duplicates gids in the list */
+
+               remove_duplicate_gids( grpcnt, groups );
        }
 
        restore_re_gid();
@@ -100,11 +104,6 @@ static int getgrouplist_internals(const char *user, gid_t gid, gid_t *groups, in
                return -1;
        }
        
-       /* this will remove any duplicates gids in the list and 
-          update the group counter */
-          
-       remove_duplicate_gids( grpcnt, groups );
-
        free(gids_saved);
        return ret;
 }