From: Pauli Date: Thu, 28 Jun 2018 23:55:23 +0000 (+1000) Subject: Check return from BN_set_word. X-Git-Tag: OpenSSL_1_1_0i~64 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c7b9e7be89c987fbf065852d846ac4982a32941b;p=oweals%2Fopenssl.git Check return from BN_set_word. In ssl/t1_lib.c. Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/6613) (cherry picked from commit 8eab767a718f44ccba9888eeb81a5328cff47bab) --- diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 3dddd9c297..95711fb6df 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -4141,13 +4141,16 @@ DH *ssl_get_auto_dh(SSL *s) if (dhp == NULL) return NULL; g = BN_new(); - if (g != NULL) - BN_set_word(g, 2); + if (g == NULL || !BN_set_word(g, 2)) { + DH_free(dhp); + BN_free(g); + return NULL; + } if (dh_secbits >= 192) p = BN_get_rfc3526_prime_8192(NULL); else p = BN_get_rfc3526_prime_3072(NULL); - if (p == NULL || g == NULL || !DH_set0_pqg(dhp, p, NULL, g)) { + if (p == NULL || !DH_set0_pqg(dhp, p, NULL, g)) { DH_free(dhp); BN_free(p); BN_free(g);