From: Matt Caswell Date: Wed, 23 Nov 2016 22:12:40 +0000 (+0000) Subject: Fix missing NULL checks in CKE processing X-Git-Tag: OpenSSL_1_1_0d~108 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=efbe126e3ebb9123ac9d058aa2bb044261342aaa;p=openssl Fix missing NULL checks in CKE processing Reviewed-by: Rich Salz --- diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c index e90a63cc87..5ea0919e4a 100644 --- a/ssl/statem/statem_clnt.c +++ b/ssl/statem/statem_clnt.c @@ -2258,6 +2258,11 @@ static int tls_construct_cke_dhe(SSL *s, unsigned char **p, int *len, int *al) return 0; } ckey = ssl_generate_pkey(skey); + if (ckey == NULL) { + SSLerr(SSL_F_TLS_CONSTRUCT_CKE_DHE, ERR_R_INTERNAL_ERROR); + return 0; + } + dh_clnt = EVP_PKEY_get0_DH(ckey); if (dh_clnt == NULL || ssl_derive(s, ckey, skey) == 0) { @@ -2296,6 +2301,10 @@ static int tls_construct_cke_ecdhe(SSL *s, unsigned char **p, int *len, int *al) } ckey = ssl_generate_pkey(skey); + if (ckey == NULL) { + SSLerr(SSL_F_TLS_CONSTRUCT_CKE_ECDHE, ERR_R_INTERNAL_ERROR); + goto err; + } if (ssl_derive(s, ckey, skey) == 0) { SSLerr(SSL_F_TLS_CONSTRUCT_CKE_ECDHE, ERR_R_EVP_LIB);