diff options
author | Andy Polyakov <appro@openssl.org> | 2017-03-26 22:38:05 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2017-03-27 21:09:06 +0200 |
commit | a4c74e88e4bfce51cca22ed9d73d7d6bd96b4b87 (patch) | |
tree | 7014af9cf9b00792574364ecb509db63a593ea9d /apps | |
parent | 165f1c3ef39680471339d21b9f6c12ea86b4a26a (diff) | |
download | openssl-a4c74e88e4bfce51cca22ed9d73d7d6bd96b4b87.tar.gz |
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')
-rw-r--r-- | apps/passwd.c | 6 |
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); } |