diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | grp/initgroups.c | 2 |
2 files changed, 4 insertions, 2 deletions
@@ -1,8 +1,10 @@ 2006-08-03 Ulrich Drepper <drepper@redhat.com> + * 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 |