diff --git a/src/ssl.c b/src/ssl.c index e432d9695..70f161e93 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -19730,6 +19730,8 @@ WOLFSSL_EC_KEY *wolfSSL_EC_KEY_dup(const WOLFSSL_EC_KEY *src) return NULL; } + /* Free priv_key before call to dup function */ + wolfSSL_BN_free(dup->priv_key); dup->priv_key = wolfSSL_BN_dup(src->priv_key); if (dup->priv_key == NULL) { WOLFSSL_MSG("BN_dup error"); diff --git a/wolfcrypt/src/wc_encrypt.c b/wolfcrypt/src/wc_encrypt.c index 9ae0c84d9..aa84e24d4 100644 --- a/wolfcrypt/src/wc_encrypt.c +++ b/wolfcrypt/src/wc_encrypt.c @@ -375,7 +375,7 @@ int wc_CryptKey(const char* password, int passwordSz, byte* salt, int length, int version, byte* cbcIv, int enc, int shaOid) { int typeH; - int derivedLen; + int derivedLen = 0; int ret = 0; #ifdef WOLFSSL_SMALL_STACK byte* key;