summaryrefslogtreecommitdiff
path: root/nis
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2009-10-30 16:11:14 +0100
committerAndreas Schwab <schwab@redhat.com>2009-10-30 16:11:14 +0100
commit017dd87448e913383a8be5773569f218e8c661c5 (patch)
treed9124fdbb290416e60553c87aa9f9f1750d7acb8 /nis
parentf8e81cec78280ef92014305c1e10a808b1260683 (diff)
parent3a83202db6e5591f2b72974c1ad98602c6620770 (diff)
Merge remote branch 'origin/master' into fedora/master
Diffstat (limited to 'nis')
-rw-r--r--nis/nss_nis/nis-grp.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/nis/nss_nis/nis-grp.c b/nis/nss_nis/nis-grp.c
index 6e36cf828f..6ad30eb1bb 100644
--- a/nis/nss_nis/nis-grp.c
+++ b/nis/nss_nis/nis-grp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-1999, 2001-2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-1999,2001-2004,2006,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996.
@@ -55,7 +55,7 @@ internal_nis_endgrent (void)
oldkeylen = 0;
}
- struct response_t *curr = intern.next;
+ struct response_t *curr = intern.start;
while (curr != NULL)
{
@@ -203,16 +203,17 @@ internal_nis_getgrent_r (struct group *grp, char *buffer, size_t buflen,
}
if (__builtin_expect ((size_t) (len + 1) > buflen, 0))
- {
- free (result);
- *errnop = ERANGE;
- return NSS_STATUS_TRYAGAIN;
- }
+ {
+ if (!batch_read)
+ free (result);
+ *errnop = ERANGE;
+ return NSS_STATUS_TRYAGAIN;
+ }
char *p = strncpy (buffer, result, len);
buffer[len] = '\0';
while (isspace (*p))
- ++p;
+ ++p;
if (!batch_read)
free (result);
@@ -280,7 +281,7 @@ _nss_nis_getgrnam_r (const char *name, struct group *grp,
enum nss_status retval = yperr2nss (yperr);
if (retval == NSS_STATUS_TRYAGAIN)
- *errnop = errno;
+ *errnop = errno;
return retval;
}
@@ -329,7 +330,7 @@ _nss_nis_getgrgid_r (gid_t gid, struct group *grp,
enum nss_status retval = yperr2nss (yperr);
if (retval == NSS_STATUS_TRYAGAIN)
- *errnop = errno;
+ *errnop = errno;
return retval;
}