From: Rich Salz Date: Mon, 24 Apr 2017 13:41:51 +0000 (-0400) Subject: if log fails, avoid pms getting double free X-Git-Tag: OpenSSL_1_1_1-pre1~1715 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26fb4b033c664df7e220db1960f1cdad73bbba06;p=thirdparty%2Fopenssl.git if log fails, avoid pms getting double free doing the pms assignment after log is successful Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/3278) --- diff --git a/ssl/statem/statem_clnt.c b/ssl/statem/statem_clnt.c index 8207dde8780..a8bb5663f09 100644 --- a/ssl/statem/statem_clnt.c +++ b/ssl/statem/statem_clnt.c @@ -2854,13 +2854,13 @@ static int tls_construct_cke_rsa(SSL *s, WPACKET *pkt, int *al) goto err; } - s->s3->tmp.pms = pms; - s->s3->tmp.pmslen = pmslen; - /* Log the premaster secret, if logging is enabled. */ if (!ssl_log_rsa_client_key_exchange(s, encdata, enclen, pms, pmslen)) goto err; + s->s3->tmp.pms = pms; + s->s3->tmp.pmslen = pmslen; + return 1; err: OPENSSL_clear_free(pms, pmslen);