提交 26fb4b03 编写于 作者: R Rich Salz

if log fails, avoid pms getting double free

doing the pms assignment after log is successful
Reviewed-by: NRichard Levitte <levitte@openssl.org>
Reviewed-by: NMatt Caswell <matt@openssl.org>
Reviewed-by: NRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3278)
上级 cb2a6eb7
...@@ -2854,13 +2854,13 @@ static int tls_construct_cke_rsa(SSL *s, WPACKET *pkt, int *al) ...@@ -2854,13 +2854,13 @@ static int tls_construct_cke_rsa(SSL *s, WPACKET *pkt, int *al)
goto err; goto err;
} }
s->s3->tmp.pms = pms;
s->s3->tmp.pmslen = pmslen;
/* Log the premaster secret, if logging is enabled. */ /* Log the premaster secret, if logging is enabled. */
if (!ssl_log_rsa_client_key_exchange(s, encdata, enclen, pms, pmslen)) if (!ssl_log_rsa_client_key_exchange(s, encdata, enclen, pms, pmslen))
goto err; goto err;
s->s3->tmp.pms = pms;
s->s3->tmp.pmslen = pmslen;
return 1; return 1;
err: err:
OPENSSL_clear_free(pms, pmslen); OPENSSL_clear_free(pms, pmslen);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册