summaryrefslogtreecommitdiff
path: root/lib/getgroups.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2003-10-29 17:27:58 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2003-10-29 17:27:58 +0000
commitd67c6629b22d9d870bc2c8af9e1655e9a0e7e6ac (patch)
tree0d7f925ad81b9703a92c4aa2c00445686bc1eebb /lib/getgroups.c
parent0eefce1392eae619948896a6b5854446d8254d3a (diff)
downloadgnulib-d67c6629b22d9d870bc2c8af9e1655e9a0e7e6ac.tar.gz
(getgroups): Don't use xrealloc, since we don't need the buffer
preserved. Use free and xmalloc instead.
Diffstat (limited to 'lib/getgroups.c')
-rw-r--r--lib/getgroups.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/getgroups.c b/lib/getgroups.c
index e27cadc3e9..4ffa4e08fc 100644
--- a/lib/getgroups.c
+++ b/lib/getgroups.c
@@ -43,16 +43,16 @@ getgroups (int n, GETGROUPS_T *group)
return getgroups (n, group);
n = 20;
- gbuf = NULL;
while (1)
{
/* No need to worry about address arithmetic overflow here,
since the ancient systems that we're running on have low
limits on the number of secondary groups. */
- gbuf = xrealloc (gbuf, n * sizeof (GETGROUPS_T));
+ gbuf = xmalloc (gbuf, n * sizeof *gbuf);
n_groups = getgroups (n, gbuf);
if (n_groups < n)
break;
+ free (gbuf);
n += 10;
}