mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-12 09:58:36 +00:00
rpc.yppasswdd: Fix dirname(3) usage after r305952.
PR: 234972 Submitted by: Edward Fuhr <edward.fuhr@us.fujitsu.com> (original) MFC after: 3 days
This commit is contained in:
parent
8e7299c08b
commit
9afd281187
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=348547
@ -468,7 +468,9 @@ yppasswdproc_update_1_svc(yppasswd *argp, struct svc_req *rqstp)
|
||||
char *cryptpw;
|
||||
char *oldshell = NULL;
|
||||
char *oldgecos = NULL;
|
||||
char *passdir;
|
||||
char *passfile_hold;
|
||||
char passdir_buf[MAXPATHLEN + 2];
|
||||
char passfile_buf[MAXPATHLEN + 2];
|
||||
char passfile_hold_buf[MAXPATHLEN + 2];
|
||||
char *domain = yppasswd_domain;
|
||||
@ -602,11 +604,14 @@ yppasswdproc_update_1_svc(yppasswd *argp, struct svc_req *rqstp)
|
||||
snprintf(passfile_hold_buf, sizeof(passfile_hold_buf),
|
||||
"%s.hold", passfile);
|
||||
passfile_hold = (char *)&passfile_hold_buf;
|
||||
|
||||
|
||||
|
||||
/* Step 5: make a new password file with the updated info. */
|
||||
|
||||
if (pw_init(dirname(passfile), passfile)) {
|
||||
snprintf(passdir_buf, sizeof(passdir_buf), "%s", passfile);
|
||||
passdir = dirname(passdir_buf);
|
||||
|
||||
if (pw_init(passdir, passfile)) {
|
||||
yp_error("pw_init() failed");
|
||||
return &result;
|
||||
}
|
||||
@ -726,7 +731,9 @@ yppasswdproc_update_master_1_svc(master_yppasswd *argp,
|
||||
uid_t uid;
|
||||
int rval = 0;
|
||||
DBT key, data;
|
||||
char *passdir;
|
||||
char *passfile_hold;
|
||||
char passdir_buf[MAXPATHLEN + 2];
|
||||
char passfile_buf[MAXPATHLEN + 2];
|
||||
char passfile_hold_buf[MAXPATHLEN + 2];
|
||||
struct sockaddr_in *rqhost;
|
||||
@ -829,7 +836,10 @@ allow additions to be made to the password database");
|
||||
"%s.hold", passfile);
|
||||
passfile_hold = (char *)&passfile_hold_buf;
|
||||
|
||||
if (pw_init(dirname(passfile), passfile)) {
|
||||
snprintf(passdir_buf, sizeof(passdir_buf), "%s", passfile);
|
||||
passdir = dirname(passdir_buf);
|
||||
|
||||
if (pw_init(passdir, passfile)) {
|
||||
yp_error("pw_init() failed");
|
||||
return &result;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user