when -n is passed to any pw subcommand it is always expected to be considered as
a name so do not try to convert it to an id if it is a numeric value PR: 31933 Reported by: ted@impulse.net Sponsored by: gandi.net
This commit is contained in:
parent
68d5f492de
commit
87bf5e9212
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=285948
@ -287,14 +287,7 @@ main(int argc, char *argv[])
|
||||
errstr);
|
||||
break;
|
||||
case 'n':
|
||||
if (strspn(optarg, "0123456789") != strlen(optarg)) {
|
||||
name = optarg;
|
||||
break;
|
||||
}
|
||||
id = strtonum(optarg, 0, LONG_MAX, &errstr);
|
||||
if (errstr != NULL)
|
||||
errx(EX_USAGE, "Bad id '%s': %s", optarg,
|
||||
errstr);
|
||||
name = optarg;
|
||||
break;
|
||||
case 'H':
|
||||
if (conf.fd != -1)
|
||||
|
@ -50,8 +50,18 @@ delete_files_body() {
|
||||
fi
|
||||
}
|
||||
|
||||
atf_test_case delete_numeric_name
|
||||
delete_numeric_name_body() {
|
||||
populate_etc_skel
|
||||
|
||||
atf_check ${PW} useradd -n foo -u 4001
|
||||
atf_check -e inline:"pw: no such user \`4001'\n" -s exit:67 \
|
||||
${PW} userdel -n 4001
|
||||
}
|
||||
|
||||
atf_init_test_cases() {
|
||||
atf_add_test_case rmuser_seperate_group
|
||||
atf_add_test_case user_do_not_try_to_delete_root_if_user_unknown
|
||||
atf_add_test_case delete_files
|
||||
atf_add_test_case delete_numeric_name
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user