FreeBSD Bugzilla – Attachment 17616 Details for
Bug 31933
pw(8) can interpret numeric name as userid during userdel
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 2.45 KB, created by
Ted Cabeen
on 2001-11-12 19:10:00 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Ted Cabeen
Created:
2001-11-12 19:10:00 UTC
Size:
2.45 KB
patch
obsolete
>Index: pw.c >=================================================================== >RCS file: /home/ncvs/src/usr.sbin/pw/pw.c,v >retrieving revision 1.26 >diff -c -r1.26 pw.c >*** pw.c 2001/07/09 09:24:01 1.26 >--- pw.c 2001/11/12 18:58:37 >*************** >*** 168,174 **** > } else if (strcmp(argv[1], "help") == 0 && argv[2] == NULL) > cmdhelp(mode, which); > else if (which != -1 && mode != -1) >! addarg(&arglist, 'n', argv[1]); > else > errx(EX_USAGE, "unknown keyword `%s'", argv[1]); > ++argv; >--- 168,174 ---- > } else if (strcmp(argv[1], "help") == 0 && argv[2] == NULL) > cmdhelp(mode, which); > else if (which != -1 && mode != -1) >! addarg(&arglist, '-', argv[1]); > else > errx(EX_USAGE, "unknown keyword `%s'", argv[1]); > ++argv; >Index: pw_user.c >=================================================================== >RCS file: /home/ncvs/src/usr.sbin/pw/pw_user.c,v >retrieving revision 1.50 >diff -c -r1.50 pw_user.c >*** pw_user.c 2001/10/19 10:45:14 1.50 >--- pw_user.c 2001/11/12 18:58:38 >*************** >*** 292,299 **** > return EXIT_SUCCESS; > } > >! if ((a_name = getarg(args, 'n')) != NULL) > pwd = GETPWNAM(pw_checkname((u_char *)a_name->val, 0)); > a_uid = getarg(args, 'u'); > > if (a_uid == NULL) { >--- 292,304 ---- > return EXIT_SUCCESS; > } > >! /* Test both possible name arguments */ >! if ((a_name = getarg(args, '-')) != NULL) > pwd = GETPWNAM(pw_checkname((u_char *)a_name->val, 0)); >+ if ((arg = getarg(args, 'n')) != NULL) { >+ a_name = arg; >+ pwd = GETPWNAM(pw_checkname((u_char *)a_name->val, 0)); >+ } > a_uid = getarg(args, 'u'); > > if (a_uid == NULL) { >*************** >*** 301,311 **** > errx(EX_DATAERR, "user name or id required"); > > /* >! * Determine whether 'n' switch is name or uid - we don't > * really don't really care which we have, but we need to > * know. > */ >! 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'; >--- 306,316 ---- > errx(EX_DATAERR, "user name or id required"); > > /* >! * Determine whether '-' switch is name or uid - we don't > * really don't really care which we have, but we need to > * know. > */ >! if (mode != M_ADD && pwd == NULL && getarg(args, '-') != NULL > && strspn(a_name->val, "0123456789") == strlen(a_name->val) > && atoi(a_name->val) > 0) { /* Assume uid */ > (a_uid = a_name)->ch = 'u';
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 31933
: 17616