summaryrefslogtreecommitdiffstats
path: root/pw
diff options
context:
space:
mode:
authorAlan Somers <asomers@FreeBSD.org>2017-05-10 16:06:22 +0000
committerAlan Somers <asomers@FreeBSD.org>2017-05-10 16:06:22 +0000
commita011bc90ddf52787b7dca3cc3caf01fe3b1a88c1 (patch)
tree7d050ede046bbd2acdafd583db4c123ead495684 /pw
parent5714d4d1a6ff8cc12affc1b746f04b14882d362f (diff)
downloadpw-darwin-a011bc90ddf52787b7dca3cc3caf01fe3b1a88c1.tar.gz
pw-darwin-a011bc90ddf52787b7dca3cc3caf01fe3b1a88c1.tar.zst
pw-darwin-a011bc90ddf52787b7dca3cc3caf01fe3b1a88c1.zip
Don't depend on assert(3) getting evaluated
Reported by: imp MFC after: 3 weeks X-MFC-With: 318141, 318143 Sponsored by: Spectra Logic Corp
Diffstat (limited to 'pw')
-rw-r--r--pw/pw_user.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/pw/pw_user.c b/pw/pw_user.c
index cf38e9c..76849ba 100644
--- a/pw/pw_user.c
+++ b/pw/pw_user.c
@@ -491,6 +491,7 @@ pw_pwcrypt(char *password)
char salt[SALTSIZE + 1];
char *cryptpw;
static char buf[256];
+ size_t pwlen;
/*
* Calculate a salt value
@@ -502,7 +503,8 @@ pw_pwcrypt(char *password)
cryptpw = crypt(password, salt);
if (cryptpw == NULL)
errx(EX_CONFIG, "crypt(3) failure");
- assert(strlcpy(buf, cryptpw, sizeof(buf)) < sizeof(buf));
+ pwlen = strlcpy(buf, cryptpw, sizeof(buf));
+ assert(pwlen < sizeof(buf));
return (buf);
}