From b9b9a51e4911b17e75b39fd3db9f7268e233ce20 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 23 Apr 2003 21:27:36 +0000 Subject: Update. 2003-04-23 Ulrich Drepper * grp/initgroups.c (getgrouplist): Don't copy too much into the user buffer if more groups are found than fit into it. * nis/nss_nis/nis-initgroups.c (_nss_nis_initgroups_dyn): Use extend_alloca. --- nis/nss_nis/nis-initgroups.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'nis') diff --git a/nis/nss_nis/nis-initgroups.c b/nis/nss_nis/nis-initgroups.c index de7444e870..e3a8f57fcc 100644 --- a/nis/nss_nis/nis-initgroups.c +++ b/nis/nss_nis/nis-initgroups.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk , 1998. @@ -17,10 +17,11 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#include -#include +#include #include #include +#include +#include #include #include #include @@ -159,10 +160,7 @@ _nss_nis_initgroups_dyn (const char *user, gid_t group, long int *start, internal_getgrent_r (&grpbuf, tmpbuf, buflen, errnop, &intern)) == NSS_STATUS_TRYAGAIN && *errnop == ERANGE) - { - buflen *= 2; - tmpbuf = __alloca (buflen); - } + tmpbuf = extend_alloca (tmpbuf, buflen, 2 * buflen); if (status != NSS_STATUS_SUCCESS) goto done; -- cgit v1.2.3