diff options
-rw-r--r-- | lib/libssl/s3_clnt.c | 5 | ||||
-rw-r--r-- | lib/libssl/ssl_lib.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/libssl/s3_clnt.c b/lib/libssl/s3_clnt.c index ffbd83b060b..602ab03fe1f 100644 --- a/lib/libssl/s3_clnt.c +++ b/lib/libssl/s3_clnt.c @@ -2458,6 +2458,11 @@ ssl3_send_client_key_exchange(SSL *s) * context data */ ukm_hash = EVP_MD_CTX_create(); + if (ukm_hash == NULL) { + SSLerr(SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE, + ERR_R_MALLOC_FAILURE); + goto err; + } EVP_DigestInit(ukm_hash, EVP_get_digestbynid(NID_id_GostR3411_94)); EVP_DigestUpdate(ukm_hash, diff --git a/lib/libssl/ssl_lib.c b/lib/libssl/ssl_lib.c index bf983542941..12d45ea0251 100644 --- a/lib/libssl/ssl_lib.c +++ b/lib/libssl/ssl_lib.c @@ -3235,7 +3235,7 @@ ssl_replace_hash(EVP_MD_CTX **hash, const EVP_MD *md) { ssl_clear_hash_ctx(hash); *hash = EVP_MD_CTX_create(); - if (md) + if (*hash != NULL && md != NULL) EVP_DigestInit_ex(*hash, md, NULL); return (*hash); } |