summaryrefslogtreecommitdiffstats
path: root/pw/pw_group.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
commit781a5b787624a2cd0208bf63bc1c0572e182a306 (patch)
treef71f92f914ca8bb490ff0c9a7db9c78426deb3bd /pw/pw_group.c
parent9d27d4e8bf692d371fe7363d3e4b6613c5a8881a (diff)
downloadpw-darwin-781a5b787624a2cd0208bf63bc1c0572e182a306.tar.gz
pw-darwin-781a5b787624a2cd0208bf63bc1c0572e182a306.tar.zst
pw-darwin-781a5b787624a2cd0208bf63bc1c0572e182a306.zip
Allow negative numbers in -u and -g options
PR: 196514 MFC after: 1 week
Diffstat (limited to 'pw/pw_group.c')
-rw-r--r--pw/pw_group.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pw/pw_group.c b/pw/pw_group.c
index b20ce88..51166cd 100644
--- a/pw/pw_group.c
+++ b/pw/pw_group.c
@@ -68,7 +68,11 @@ pw_group(struct userconf * cnf, int mode, struct cargs * args)
};
if (a_gid != NULL) {
- if (strspn(a_gid->val, "0123456789") != strlen(a_gid->val))
+ const char *teststr;
+ teststr = a_gid->val;
+ if (*teststr == '-')
+ teststr++;
+ if (strspn(teststr, "0123456789") != strlen(teststr))
errx(EX_USAGE, "-g expects a number");
}