diff options
author | ache <ache@FreeBSD.org> | 1998-03-07 21:42:07 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1998-03-07 21:42:07 +0000 |
commit | e4040eea6a011d91e6dad6b9e5a20280eef8ccb7 (patch) | |
tree | f98460fd34fae62fc988f2c67052d2a300dc6a1f /usr.bin/passwd | |
parent | 8ceb6160f494e2331b3f2e241e09d92673e397af (diff) | |
download | FreeBSD-src-e4040eea6a011d91e6dad6b9e5a20280eef8ccb7.zip FreeBSD-src-e4040eea6a011d91e6dad6b9e5a20280eef8ccb7.tar.gz |
Prevent passwd locking database forever waiting for user input
Submitted by: Antti Kaipila <anttik@iki.fi>
Diffstat (limited to 'usr.bin/passwd')
-rw-r--r-- | usr.bin/passwd/local_passwd.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/usr.bin/passwd/local_passwd.c b/usr.bin/passwd/local_passwd.c index 5e8a4bc..33044b9 100644 --- a/usr.bin/passwd/local_passwd.c +++ b/usr.bin/passwd/local_passwd.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: local_passwd.c,v 1.17 1997/05/10 19:02:38 davidn Exp $ + * $Id: local_passwd.c,v 1.18 1997/06/14 00:27:03 ache Exp $ */ #ifndef lint @@ -202,8 +202,6 @@ local_passwd(uname) errx(1, "%s", strerror(EACCES)); pw_init(); - pfd = pw_lock(); - tfd = pw_tmp(); /* * Get the new password. Reset passwd change time to zero by @@ -214,6 +212,9 @@ local_passwd(uname) */ pw->pw_change = 0; pw->pw_passwd = getnewpasswd(pw, 0); + + pfd = pw_lock(); + tfd = pw_tmp(); pw_copy(pfd, tfd, pw); if (!pw_mkdb(uname)) |