summaryrefslogtreecommitdiffstats
path: root/pw
diff options
context:
space:
mode:
Diffstat (limited to 'pw')
-rw-r--r--pw/strtounum.c1
-rwxr-xr-xpw/tests/pw_useradd.sh15
2 files changed, 16 insertions, 0 deletions
diff --git a/pw/strtounum.c b/pw/strtounum.c
index be57276..b2fefeb 100644
--- a/pw/strtounum.c
+++ b/pw/strtounum.c
@@ -41,6 +41,7 @@ strtounum(const char * __restrict np, uintmax_t minval, uintmax_t maxval,
char *endp;
uintmax_t ret;
+ *errpp = NULL;
if (minval > maxval) {
errno = EINVAL;
if (errpp != NULL)
diff --git a/pw/tests/pw_useradd.sh b/pw/tests/pw_useradd.sh
index 0c3a39e..cb62944 100755
--- a/pw/tests/pw_useradd.sh
+++ b/pw/tests/pw_useradd.sh
@@ -338,6 +338,20 @@ user_add_w_yes_body() {
grep "^foo" ${HOME}/master.passwd
}
+atf_test_case user_add_with_pw_conf
+user_add_with_pw_conf_body()
+{
+ populate_etc_skel
+ atf_check -s exit:0 \
+ ${PW} useradd -D -C ${HOME}/pw.conf \
+ -u 2000,32767 -i 2000,32767
+ atf_check -s exit:0 \
+ -o inline:"minuid = 2000\nmaxuid = 32767\nmingid = 2000\nmaxgid = 32767\n" \
+ grep "^m.*id =" ${HOME}/pw.conf
+ atf_check -s exit:0 \
+ ${PW} useradd foo -C ${HOME}/pw.conf
+}
+
atf_init_test_cases() {
atf_add_test_case user_add
atf_add_test_case user_add_noupdate
@@ -367,4 +381,5 @@ atf_init_test_cases() {
atf_add_test_case user_add_bad_shell
atf_add_test_case user_add_already_exists
atf_add_test_case user_add_w_yes
+ atf_add_test_case user_add_with_pw_conf
}