aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/newgrp/newgrp.c
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2011-10-12 01:19:12 +0000
committerXin LI <delphij@FreeBSD.org>2011-10-12 01:19:12 +0000
commit6a99195fb80c847a290f164ac8ebf3da31a76609 (patch)
treefcf4ffdc6076c9f42fd266fb5f3ef1e84bffb7cd /usr.bin/newgrp/newgrp.c
parentbbf9339dbb52fd9cafbec88d5954986030a56c57 (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.c4
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;