svn commit: r324244 - head/usr.bin/chpass
Conrad Meyer
cem at FreeBSD.org
Wed Oct 4 01:12:27 UTC 2017
Author: cem
Date: Wed Oct 4 01:12:26 2017
New Revision: 324244
URL: https://svnweb.freebsd.org/changeset/base/324244
Log:
chpass(1): Check crypt(3) return and handle error appropriately
This change is spiritually similar to the earlier r231994.
PR: 222756
Submitted by: Lubos Boucek <bouceklubos AT gmail.com>
Obtained from: DragonflyBSD 2020c8fec4168a5020f984a093224fade3074b25
Modified:
head/usr.bin/chpass/chpass.c
Modified: head/usr.bin/chpass/chpass.c
==============================================================================
--- head/usr.bin/chpass/chpass.c Tue Oct 3 22:57:19 2017 (r324243)
+++ head/usr.bin/chpass/chpass.c Wed Oct 4 01:12:26 2017 (r324244)
@@ -82,7 +82,7 @@ main(int argc, char *argv[])
struct passwd lpw, *old_pw, *pw;
int ch, pfd, tfd;
const char *password;
- char *arg = NULL;
+ char *arg = NULL, *cryptpw;
uid_t uid;
#ifdef YP
struct ypclnt *ypclnt;
@@ -228,8 +228,8 @@ main(int argc, char *argv[])
if (old_pw && !master_mode) {
password = getpass("Password: ");
- if (strcmp(crypt(password, old_pw->pw_passwd),
- old_pw->pw_passwd) != 0)
+ cryptpw = crypt(password, old_pw->pw_passwd);
+ if (cryptpw == NULL || strcmp(cryptpw, old_pw->pw_passwd) != 0)
baduser();
} else {
password = "";
More information about the svn-src-all
mailing list