mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
Evan Jordan's fix for a memory leak. Bug report 650989.
This commit is contained in:
parent
9ae920c1b6
commit
3aea0d3d68
13
lib/ssluse.c
13
lib/ssluse.c
@ -325,10 +325,15 @@ int cert_stuff(struct connectdata *conn,
|
||||
|
||||
ssl=SSL_new(conn->ssl.ctx);
|
||||
x509=SSL_get_certificate(ssl);
|
||||
|
||||
if (x509 != NULL)
|
||||
EVP_PKEY_copy_parameters(X509_get_pubkey(x509),
|
||||
SSL_get_privatekey(ssl));
|
||||
|
||||
/* This version was provided by Evan Jordan and is supposed to not
|
||||
leak memory as the previous version: */
|
||||
if (x509 != NULL) {
|
||||
EVP_PKEY *pktmp = X509_get_pubkey(x509);
|
||||
EVP_PKEY_copy_parameters(pktmp,SSL_get_privatekey(ssl));
|
||||
EVP_PKEY_free(pktmp);
|
||||
}
|
||||
|
||||
SSL_free(ssl);
|
||||
|
||||
/* If we are using DSA, we can copy the parameters from
|
||||
|
Loading…
Reference in New Issue
Block a user