summaryrefslogtreecommitdiffstats
path: root/pw/pw_user.c
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2015-01-24 19:13:03 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2015-01-24 19:13:03 +0000
commit80a23c5363fbf64cd4420edd462e23d89b3e8a39 (patch)
tree8a6901585c2c55ca6ca878e75b0f72f997b30ee0 /pw/pw_user.c
parentf3f1481c2b79a9f8747738acd08571ab4c50eb3a (diff)
downloadpw-darwin-80a23c5363fbf64cd4420edd462e23d89b3e8a39.tar.gz
pw-darwin-80a23c5363fbf64cd4420edd462e23d89b3e8a39.tar.zst
pw-darwin-80a23c5363fbf64cd4420edd462e23d89b3e8a39.zip
Allow negative numbers in -u and -g options
PR: 196514 MFC after: 1 week
Diffstat (limited to 'pw/pw_user.c')
-rw-r--r--pw/pw_user.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pw/pw_user.c b/pw/pw_user.c
index 483148a..f146b46 100644
--- a/pw/pw_user.c
+++ b/pw/pw_user.c
@@ -322,7 +322,10 @@ pw_user(struct userconf * cnf, int mode, struct cargs * args)
a_name = NULL;
}
} else {
- if (strspn(a_uid->val, "0123456789") != strlen(a_uid->val))
+ const char *teststr = a_uid->val;
+ if (*teststr == '-')
+ teststr++;
+ if (strspn(teststr, "0123456789") != strlen(teststr))
errx(EX_USAGE, "-u expects a number");
}