diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 1999-02-08 21:26:44 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 1999-02-08 21:26:44 +0000 |
commit | c8e126f7f0a638cd06b6d788cb316b1fb69f3063 (patch) | |
tree | 3cc325cb577ffaf3499443e20a43a5242941e2a6 | |
parent | 2ad1a3f7295aa9393833907df43945f5278b3eef (diff) | |
download | src-c8e126f7f0a638cd06b6d788cb316b1fb69f3063.tar.gz src-c8e126f7f0a638cd06b6d788cb316b1fb69f3063.zip |
Don't assume a_name is a number just because the first character
is a digit.
PR: bin/9484
Submitted by: Matthew D. Fuller <fullermd@futuresouth.com>
Notes
Notes:
svn path=/head/; revision=43780
-rw-r--r-- | usr.sbin/pw/pw_user.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.sbin/pw/pw_user.c b/usr.sbin/pw/pw_user.c index 87ec76c7716c..d339381fe4e4 100644 --- a/usr.sbin/pw/pw_user.c +++ b/usr.sbin/pw/pw_user.c @@ -26,7 +26,7 @@ #ifndef lint static const char rcsid[] = - "$Id: pw_user.c,v 1.24 1999/01/02 04:37:46 billf Exp $"; + "$Id: pw_user.c,v 1.25 1999/01/04 14:07:53 billf Exp $"; #endif /* not lint */ #include <ctype.h> @@ -291,7 +291,9 @@ pw_user(struct userconf * cnf, int mode, struct cargs * args) * really don't really care which we have, but we need to * know. */ - if (mode != M_ADD && pwd == NULL && isdigit(*a_name->val) && atoi(a_name->val) > 0) { /* Assume uid */ + if (mode != M_ADD && pwd == NULL + && strspn(a_name->val, "0123456789") == strlen(a_name->val) + && atoi(a_name->val) > 0) { /* Assume uid */ (a_uid = a_name)->ch = 'u'; a_name = NULL; } |