diff options
author | Dr. Stephen Henson <steve@openssl.org> | 1999-02-15 21:05:21 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 1999-02-15 21:05:21 +0000 |
commit | a8236c8c322101c273d14c62282f264555e147c4 (patch) | |
tree | 6ec0e1acab729eac8ae5a1f7dd26428c4cf7a9ee /ssl/s3_clnt.c | |
parent | 1750ebcba914d87602007447433529f871d088f5 (diff) |
Fix various memory leaks in SSL, apps and DSA
Diffstat (limited to 'ssl/s3_clnt.c')
-rw-r--r-- | ssl/s3_clnt.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c index 436215094a..363118835c 100644 --- a/ssl/s3_clnt.c +++ b/ssl/s3_clnt.c @@ -814,8 +814,9 @@ f_err: ssl3_send_alert(s,SSL3_AL_FATAL,al); } err: - if (x != NULL) X509_free(x); - if (sk != NULL) sk_pop_free(sk,X509_free); + EVP_PKEY_free(pkey); + X509_free(x); + sk_pop_free(sk,X509_free); return(ret); } @@ -1103,11 +1104,12 @@ SSL *s; goto f_err; } } - + EVP_PKEY_free(pkey); return(1); f_err: ssl3_send_alert(s,SSL3_AL_FATAL,al); err: + EVP_PKEY_free(pkey); return(-1); } @@ -1622,6 +1624,7 @@ SSL *s; idx=c->cert_type; pkey=X509_get_pubkey(c->pkeys[idx].x509); i=X509_certificate_type(c->pkeys[idx].x509,pkey); + EVP_PKEY_free(pkey); /* Check that we have a certificate if we require one */ |