summary refs log tree commit diff
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)
 			{