From 9c5a79048766f0ac89aa84ad0c9a2f6e6dffec17 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 25 Sep 2005 22:55:11 +0000 Subject: [PATCH] * inet/getnetgrent_r.c (innetgr): Call endfct even if result != 0. Return 1 only if result == 1. Patch by Benoit Capelle. --- ChangeLog | 5 +++++ inet/getnetgrent_r.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index cbef36a..67320a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-09-24 Jakub Jelinek + + * inet/getnetgrent_r.c (innetgr): Call endfct even if result != 0. + Return 1 only if result == 1. Patch by Benoit Capelle. + 2005-09-25 Ulrich Drepper [BZ #278] diff --git a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c index 4dbccd9..97b2b80 100644 --- a/inet/getnetgrent_r.c +++ b/inet/getnetgrent_r.c @@ -409,9 +409,6 @@ innetgr (const char *netgroup, const char *host, const char *user, } } - if (result != 0) - break; - /* If we found one service which does know the given netgroup we don't try further. */ status = NSS_STATUS_RETURN; @@ -422,6 +419,9 @@ innetgr (const char *netgroup, const char *host, const char *user, if (endfct != NULL) (*endfct) (&entry); + if (result != 0) + break; + /* Look for the next service. */ no_more = __nss_next (&entry.nip, "setnetgrent", &setfct.ptr, status, 0); @@ -444,6 +444,6 @@ innetgr (const char *netgroup, const char *host, const char *user, /* Free the memory. */ free_memory (&entry); - return result; + return result == 1; } libc_hidden_def (innetgr) -- 2.7.4