From 0debe874a0e8bb34d3df41dfd8759a1603c22ca6 Mon Sep 17 00:00:00 2001 From: Brian Feldman Date: Sat, 26 Aug 2000 03:42:51 +0000 Subject: [PATCH] Fix a premature freeing bug found with malloc debugging courtesy John Hay. Submitted by: jhay --- usr.bin/passwd/local_passwd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr.bin/passwd/local_passwd.c b/usr.bin/passwd/local_passwd.c index e23968337b8b..ccf8bbbb6889 100644 --- a/usr.bin/passwd/local_passwd.c +++ b/usr.bin/passwd/local_passwd.c @@ -132,7 +132,6 @@ getnewpasswd(pw, nis) } /* mixpasswordcase capability */ force_mix_case = login_getcapbool(lc, "mixpasswordcase", 1); - login_close(lc); } #endif @@ -172,8 +171,13 @@ getnewpasswd(pw, nis) #else /* Make a good size salt for algoritms that can use it. */ gettimeofday(&tv,0); +#ifdef LOGIN_CAP if (login_setcryptfmt(lc, "md5", NULL) == NULL) pw_error("cannot set password cipher", 1, 1); + login_close(lc); +#else + (void)crypt_set_format("md5"); +#endif /* Salt suitable for anything */ to64(&salt[0], random(), 3); to64(&salt[3], tv.tv_usec, 3);