Date: Wed, 4 Oct 2017 01:12:26 +0000 (UTC) From: Conrad Meyer <cem@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r324244 - head/usr.bin/chpass Message-ID: <201710040112.v941CQxp042709@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 = "";
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710040112.v941CQxp042709>