summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--inet/getnetgrent_r.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9b2915e402..38149a6f36 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
* inet/getnetgrent_r.c (internal_getnetgrent_r): Fix check for known
netgroups to read.
+ (innetgr): Likewise.
2011-07-05 Roland McGrath <roland@hack.frob.com>
diff --git a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c
index b588897df1..91cdcce468 100644
--- a/inet/getnetgrent_r.c
+++ b/inet/getnetgrent_r.c
@@ -389,6 +389,11 @@ innetgr (const char *netgroup, const char *host, const char *user,
namep = namep->next)
if (strcmp (entry.val.group, namep->name) == 0)
break;
+ if (namep == NULL)
+ for (namep = entry.needed_groups; namep != NULL;
+ namep = namep->next)
+ if (strcmp (entry.val.group, namep->name) == 0)
+ break;
if (namep == NULL
&& strcmp (netgroup, entry.val.group) != 0)
{