From 39571a1360afca37d7b9a4343eed90f4aadb4f90 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 3 Aug 2006 15:31:32 +0000 Subject: [PATCH] (getgrouplist): Simplify code a bit. Don't allocate one additional element on NEWGROUPS. --- ChangeLog | 4 +++- grp/initgroups.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index e24281bfba..be8a1f08c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,10 @@ 2006-08-03 Ulrich Drepper + * grp/initgroups.c (internal_getgrouplist): Remove unnecessary test introduced in patch for bz #661. - (getgrouplist): Simplify code a bit. + (getgrouplist): Simplify code a bit. Don't allocate one additional + element on NEWGROUPS. [BZ #2908] * stdio-common/printf_fphex.c (__printf_fphex): When rounding up diff --git a/grp/initgroups.c b/grp/initgroups.c index 1cc07b6bef..883ea71680 100644 --- a/grp/initgroups.c +++ b/grp/initgroups.c @@ -144,7 +144,7 @@ getgrouplist (const char *user, gid_t group, gid_t *groups, int *ngroups) { long int size = MAX (1, *ngroups); - gid_t *newgroups = (gid_t *) malloc ((size + 1) * sizeof (gid_t)); + gid_t *newgroups = (gid_t *) malloc (size * sizeof (gid_t)); if (__builtin_expect (newgroups == NULL, 0)) /* No more memory. */ // XXX This is wrong. The user provided memory, we have to use