From 189e321d5d94ca77eab7e74e1ac94c51c4054e68 Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Mon, 26 Jan 2015 16:50:42 +0000 Subject: Revert r277652 uid and gid are never and should never be negative. The pw(8) manpage clearly states the -u and -g arguments are for uids/gids, hence using negative values is abusing a bug in former versions of pw(8) --- pw/pw_group.c | 6 +----- pw/pw_user.c | 5 +---- pw/tests/Makefile | 4 +--- pw/tests/pw_groupshow.sh | 19 ------------------- pw/tests/pw_usershow.sh | 19 ------------------- 5 files changed, 3 insertions(+), 50 deletions(-) delete mode 100755 pw/tests/pw_groupshow.sh delete mode 100755 pw/tests/pw_usershow.sh (limited to 'pw') diff --git a/pw/pw_group.c b/pw/pw_group.c index 51166cd..b20ce88 100644 --- a/pw/pw_group.c +++ b/pw/pw_group.c @@ -68,11 +68,7 @@ pw_group(struct userconf * cnf, int mode, struct cargs * args) }; if (a_gid != NULL) { - const char *teststr; - teststr = a_gid->val; - if (*teststr == '-') - teststr++; - if (strspn(teststr, "0123456789") != strlen(teststr)) + if (strspn(a_gid->val, "0123456789") != strlen(a_gid->val)) errx(EX_USAGE, "-g expects a number"); } diff --git a/pw/pw_user.c b/pw/pw_user.c index f146b46..483148a 100644 --- a/pw/pw_user.c +++ b/pw/pw_user.c @@ -322,10 +322,7 @@ pw_user(struct userconf * cnf, int mode, struct cargs * args) a_name = NULL; } } else { - const char *teststr = a_uid->val; - if (*teststr == '-') - teststr++; - if (strspn(teststr, "0123456789") != strlen(teststr)) + if (strspn(a_uid->val, "0123456789") != strlen(a_uid->val)) errx(EX_USAGE, "-u expects a number"); } diff --git a/pw/tests/Makefile b/pw/tests/Makefile index c609884..1283ff2 100644 --- a/pw/tests/Makefile +++ b/pw/tests/Makefile @@ -9,11 +9,9 @@ ATF_TESTS_SH= pw_etcdir \ pw_lock \ pw_groupdel \ pw_groupmod \ - pw_groupshow \ pw_useradd \ pw_userdel \ - pw_usermod \ - pw_usershow + pw_usermod .for tp in ${ATF_TESTS_SH} TEST_METADATA.${tp}+= required_user="root" diff --git a/pw/tests/pw_groupshow.sh b/pw/tests/pw_groupshow.sh deleted file mode 100755 index 2ba53d6..0000000 --- a/pw/tests/pw_groupshow.sh +++ /dev/null @@ -1,19 +0,0 @@ -# $FreeBSD$ - -# Import helper functions -. $(atf_get_srcdir)/helper_functions.shin - - -# Test negative uid are still valid -# PR: 196514 -atf_test_case show_group_with_negative_number -show_group_with_negative_number_body() { - populate_etc_skel - atf_check -s exit:0 \ - -o inline:"wheel:*:0:root\n" \ - ${PW} groupshow -n wheel -g -1 -} - -atf_init_test_cases() { - atf_add_test_case show_group_with_negative_number -} diff --git a/pw/tests/pw_usershow.sh b/pw/tests/pw_usershow.sh deleted file mode 100755 index 4703644..0000000 --- a/pw/tests/pw_usershow.sh +++ /dev/null @@ -1,19 +0,0 @@ -# $FreeBSD$ - -# Import helper functions -. $(atf_get_srcdir)/helper_functions.shin - - -# Test negative uid are still valid -# PR: 196514 -atf_test_case show_user_with_negative_number -show_user_with_negative_number_body() { - populate_etc_skel - atf_check -s exit:0 \ - -o inline:"root:*:0:0::0:0:Charlie &:/root:/bin/csh\n" \ - ${PW} usershow -n root -u -1 -} - -atf_init_test_cases() { - atf_add_test_case show_user_with_negative_number -} -- cgit v1.2.3-56-ge451