From 1b69619e6d39198f6b8f65672bddd6eca3f53875 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Tue, 4 May 2004 14:28:05 +0000 Subject: r470: BUG 1302: fix seg fault by not trying to optimize a list of invalid gids using the wrong array size (This used to be commit 3003769164ed1265f57504f240e56f4a4ba34550) --- source3/lib/system_smbd.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'source3/lib') diff --git a/source3/lib/system_smbd.c b/source3/lib/system_smbd.c index 7edc7ca98f..55c2338ebd 100644 --- a/source3/lib/system_smbd.c +++ b/source3/lib/system_smbd.c @@ -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; } -- cgit