提交 5ee289ea 编写于 作者: M Matt Caswell

Fix memory leaks in the Certificate extensions code

After collecting extensions we must free them again.
Reviewed-by: NRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2284)
上级 0fe2a0af
......@@ -1425,8 +1425,11 @@ MSG_PROCESS_RETURN tls_process_server_certificate(SSL *s, PACKET *pkt)
if (!tls_collect_extensions(s, &extensions, EXT_TLS1_3_CERTIFICATE,
&rawexts, &al)
|| !tls_parse_all_extensions(s, EXT_TLS1_3_CERTIFICATE,
rawexts, x, chainidx, &al))
rawexts, x, chainidx, &al)) {
OPENSSL_free(rawexts);
goto f_err;
}
OPENSSL_free(rawexts);
}
if (!sk_X509_push(sk, x)) {
......
......@@ -3061,8 +3061,11 @@ MSG_PROCESS_RETURN tls_process_client_certificate(SSL *s, PACKET *pkt)
if (!tls_collect_extensions(s, &extensions, EXT_TLS1_3_CERTIFICATE,
&rawexts, &al)
|| !tls_parse_all_extensions(s, EXT_TLS1_3_CERTIFICATE,
rawexts, x, chainidx, &al))
rawexts, x, chainidx, &al)) {
OPENSSL_free(rawexts);
goto f_err;
}
OPENSSL_free(rawexts);
}
if (!sk_X509_push(sk, x)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册