* inet/getnetgrent_r.c (innetgr): Call endfct even if result != 0.

Return 1 only if result == 1.  Patch by Benoit Capelle.
This commit is contained in:
Ulrich Drepper 2005-09-25 22:55:11 +00:00
parent c1e3681907
commit 9c5a790487
2 changed files with 9 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2005-09-24 Jakub Jelinek <jakub@redhat.com>
* 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 <drepper@redhat.com>
[BZ #278]

View file

@ -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)