Fix double calls to strlen
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1284)
diff --git a/apps/enc.c b/apps/enc.c
index 403d14e..10ab15a 100644
--- a/apps/enc.c
+++ b/apps/enc.c
@@ -382,6 +382,8 @@
* output BIO. If decrypting read salt from input BIO.
*/
unsigned char *sptr;
+ size_t str_len = strlen(str);
+
if (nosalt)
sptr = NULL;
else {
@@ -421,7 +423,7 @@
if (!EVP_BytesToKey(cipher, dgst, sptr,
(unsigned char *)str,
- strlen(str), 1, key, iv)) {
+ str_len, 1, key, iv)) {
BIO_printf(bio_err, "EVP_BytesToKey failed\n");
goto end;
}
@@ -432,7 +434,7 @@
if (str == strbuf)
OPENSSL_cleanse(str, SIZE);
else
- OPENSSL_cleanse(str, strlen(str));
+ OPENSSL_cleanse(str, str_len);
}
if (hiv != NULL) {
int siz = EVP_CIPHER_iv_length(cipher);