aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--nis/nss_compat/compat-initgroups.c4
-rw-r--r--nis/nss_nis/nis-initgroups.c4
3 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index a087ab7639..b11b07dc56 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+1999-07-29 Ulrich Drepper <drepper@cygnus.com>
+
+ * nis/nss_nis/nis-initgroups.c (_nss_nis_initgroups): Correct size
+ argument in realloc call.
+ * nis/nss_compat/compat-initgroups.c (_nss_compat_initgroups):
+ Likewise.
+ Reported by Danny Braniss <danny@cs.huji.ac.il>.
+
1999-07-28 Ulrich Drepper <drepper@cygnus.com>
* misc/efgcvt.c: Use IEEE 854 formula to compute the number of digits
diff --git a/nis/nss_compat/compat-initgroups.c b/nis/nss_compat/compat-initgroups.c
index a0c3455eb6..47b395ede6 100644
--- a/nis/nss_compat/compat-initgroups.c
+++ b/nis/nss_compat/compat-initgroups.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998.
@@ -620,7 +620,7 @@ _nss_compat_initgroups (const char *user, gid_t group, long int *start,
if (*start == *size && limit <= 0)
{
/* Need a bigger buffer. */
- groups = realloc (groups, *size * sizeof (*groups));
+ groups = realloc (groups, 2 * *size * sizeof (*groups));
if (groups == NULL)
goto done;
*size *= 2;
diff --git a/nis/nss_nis/nis-initgroups.c b/nis/nss_nis/nis-initgroups.c
index b69fea4e85..c5577c9ced 100644
--- a/nis/nss_nis/nis-initgroups.c
+++ b/nis/nss_nis/nis-initgroups.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998.
@@ -174,7 +174,7 @@ _nss_nis_initgroups (const char *user, gid_t group, long int *start,
if (*start == *size && limit <= 0)
{
/* Need a bigger buffer. */
- groups = realloc (groups, *size * sizeof (*groups));
+ groups = realloc (groups, 2 * *size * sizeof (*groups));
if (groups == NULL)
goto done;
*size *= 2;