diff options
author | wpaul <wpaul@FreeBSD.org> | 1995-03-19 22:19:52 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 1995-03-19 22:19:52 +0000 |
commit | cb596fe111d9e4a76d460f32d923c49ebf004d54 (patch) | |
tree | c0ac10fd83acc9828ccb3df95d92bfc9babe7845 | |
parent | a57e4a521e54da58b6e4fc379506133acc8bc6b3 (diff) | |
download | FreeBSD-src-cb596fe111d9e4a76d460f32d923c49ebf004d54.zip FreeBSD-src-cb596fe111d9e4a76d460f32d923c49ebf004d54.tar.gz |
Whoops: expanding netgroups that reference multiple netgroups doesn't
work because parse_netgrp() doesn't recurse properly. Fixed by
changing
if (parse_netgrp(spos))
return(1);
to
if (parse_netgrp(spos))
continue;
inside parse_netgrp(). (Lucky for me I happen to have a fairly complex
'live' netgroup database to test this stuff with.)
-rw-r--r-- | lib/libc/gen/getnetgrent.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libc/gen/getnetgrent.c b/lib/libc/gen/getnetgrent.c index df2164e..e634eb7 100644 --- a/lib/libc/gen/getnetgrent.c +++ b/lib/libc/gen/getnetgrent.c @@ -258,7 +258,7 @@ parse_netgrp(group) } else { spos = strsep(&pos, ", \t"); if (parse_netgrp(spos)) - return (1); + continue; } /* Watch for null pointer dereferences, dammit! */ if (pos != NULL) |