diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-07-06 20:39:06 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-07-06 20:39:06 -0400 |
commit | 1de911c8747205999fb4528fcbca326a7afb2f25 (patch) | |
tree | e279afe7516e61bc62703b84344d76b6c5376a6d /inet | |
parent | 17a21a3907cbbc731fed12eab8c50a21dc2d6ad3 (diff) | |
parent | 960e5535b08ea358caefe8eb831aae36cc4826c5 (diff) | |
download | glibc-1de911c8747205999fb4528fcbca326a7afb2f25.tar.gz glibc-1de911c8747205999fb4528fcbca326a7afb2f25.tar.xz glibc-1de911c8747205999fb4528fcbca326a7afb2f25.zip |
Merge branch 'master' of ssh://sourceware.org/git/glibc
Diffstat (limited to 'inet')
-rw-r--r-- | inet/getnetgrent_r.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c index 42045a201d..91cdcce468 100644 --- a/inet/getnetgrent_r.c +++ b/inet/getnetgrent_r.c @@ -279,6 +279,11 @@ internal_getnetgrent_r (char **hostp, char **userp, char **domainp, namep = namep->next) if (strcmp (datap->val.group, namep->name) == 0) break; + if (namep == NULL) + for (namep = datap->needed_groups; namep != NULL; + namep = namep->next) + if (strcmp (datap->val.group, namep->name) == 0) + break if (namep != NULL) /* Really ignore. */ continue; @@ -384,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) { |