Implement sem_open, sem_close, and sem_unlink
[kopensolaris-gnu/glibc.git] / grp / initgroups.c
index 1cc07b6..2e48946 100644 (file)
@@ -17,6 +17,7 @@
    02111-1307 USA.  */
 
 #include <alloca.h>
+#include <assert.h>
 #include <errno.h>
 #include <grp.h>
 #include <limits.h>
@@ -144,7 +145,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