diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 0b2cd7ef0..3baf1b05e 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,7 @@
+2003-01-26  Christopher Faylor  <cgf@redhat.com>
+
+	* pwdgrp.cc (pwdgrp::parse_group): Fix off-by-one problem in allocating
+	gr_mem.
 
 2003-01-26  Christopher Faylor  <cgf@redhat.com>
 
diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc
index c16d925f5..7d7f373a2 100644
--- a/winsup/cygwin/grp.cc
+++ b/winsup/cygwin/grp.cc
@@ -59,7 +59,7 @@ pwdgrp::parse_group ()
   grp.gr_mem = &null_ptr;
   if (n)
     {
-      char **namearray = (char **) calloc (n + 2, sizeof (char *));
+      char **namearray = (char **) calloc (n + 1, sizeof (char *));
       if (namearray)
 	{
 	  for (int i = 0; i < n; i++, dp = strchr (dp, '\0') + 1)