summaryrefslogtreecommitdiffstats
path: root/apps/passwd.c
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2017-03-26 22:38:05 +0200
committerAndy Polyakov <appro@openssl.org>2017-03-27 21:09:06 +0200
commita4c74e88e4bfce51cca22ed9d73d7d6bd96b4b87 (patch)
tree7014af9cf9b00792574364ecb509db63a593ea9d /apps/passwd.c
parent165f1c3ef39680471339d21b9f6c12ea86b4a26a (diff)
apps/passwd.c: 32 bits are sufficient to hold ROUNDS_MAX.
Even though C standard defines 'z' modifier, recent mingw compilers break the contract by defining __STDC_VERSION__ with non-compliant MSVCRT.DLL. In other words we can't use %zu with mingw, but insteadl of cooking Reviewed-by: Tim Hudson <tjh@openssl.org>
Diffstat (limited to 'apps/passwd.c')
-rw-r--r--apps/passwd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/apps/passwd.c b/apps/passwd.c
index 5be728f7c0..4820f706cc 100644
--- a/apps/passwd.c
+++ b/apps/passwd.c
@@ -502,7 +502,7 @@ static char *shacrypt(const char *passwd, const char *magic, const char *salt)
EVP_MD_CTX *md = NULL, *md2 = NULL;
const EVP_MD *sha = NULL;
size_t passwd_len, salt_len, magic_len;
- size_t rounds = 5000; /* Default */
+ unsigned int rounds = 5000; /* Default */
char rounds_custom = 0;
char *p_bytes = NULL;
char *s_bytes = NULL;
@@ -539,7 +539,7 @@ static char *shacrypt(const char *passwd, const char *magic, const char *salt)
else if (srounds < ROUNDS_MIN)
rounds = ROUNDS_MIN;
else
- rounds = srounds;
+ rounds = (unsigned int)srounds;
rounds_custom = 1;
} else {
return NULL;
@@ -556,7 +556,7 @@ static char *shacrypt(const char *passwd, const char *magic, const char *salt)
OPENSSL_strlcat(out_buf, "$", sizeof out_buf);
if (rounds_custom) {
char tmp_buf[80]; /* "rounds=999999999" */
- sprintf(tmp_buf, "rounds=%"OSSLzu, rounds);
+ sprintf(tmp_buf, "rounds=%u", rounds);
OPENSSL_strlcat(out_buf, tmp_buf, sizeof out_buf);
OPENSSL_strlcat(out_buf, "$", sizeof out_buf);
}