diff options
author | Xin LI <delphij@FreeBSD.org> | 2011-10-12 01:19:12 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2011-10-12 01:19:12 +0000 |
commit | 6a99195fb80c847a290f164ac8ebf3da31a76609 (patch) | |
tree | fcf4ffdc6076c9f42fd266fb5f3ef1e84bffb7cd /usr.bin/newgrp/newgrp.c | |
parent | bbf9339dbb52fd9cafbec88d5954986030a56c57 (diff) |
- Fix an off-by-one bug in addgroup().
- Fix the error message when setgid() failed.
PR: bin/161509
Submitted by: Jeremy Huddleston <jeremyhu apple com>
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=226274
Diffstat (limited to 'usr.bin/newgrp/newgrp.c')
-rw-r--r-- | usr.bin/newgrp/newgrp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/newgrp/newgrp.c b/usr.bin/newgrp/newgrp.c index 91b62a52779d..81983011ce65 100644 --- a/usr.bin/newgrp/newgrp.c +++ b/usr.bin/newgrp/newgrp.c @@ -140,7 +140,7 @@ restoregrps(void) if (initres < 0) warn("initgroups"); if (setres < 0) - warn("setgroups"); + warn("setgid"); } static void @@ -220,7 +220,7 @@ addgroup(const char *grpname) /* Add old effective gid to supp. list if it does not exist. */ if (egid != grp->gr_gid && !inarray(egid, grps, ngrps)) { - if (ngrps == ngrps_max) + if (ngrps + 1 >= ngrps_max) warnx("too many groups"); else { grps[ngrps++] = egid; |