From e91c0eaa6a00c42d4801acc836d047facb7bd6aa Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Tue, 4 May 2004 14:28:05 +0000 Subject: [PATCH] r470: BUG 1302: fix seg fault by not trying to optimize a list of invalid gids using the wrong array size --- source/lib/system_smbd.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/source/lib/system_smbd.c b/source/lib/system_smbd.c index 7edc7ca98f9..55c2338ebd6 100644 --- a/source/lib/system_smbd.c +++ b/source/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; } -- 2.11.4.GIT