summaryrefslogtreecommitdiffstats
path: root/ssl/s3_clnt.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>1999-02-15 21:05:21 +0000
committerDr. Stephen Henson <steve@openssl.org>1999-02-15 21:05:21 +0000
commita8236c8c322101c273d14c62282f264555e147c4 (patch)
tree6ec0e1acab729eac8ae5a1f7dd26428c4cf7a9ee /ssl/s3_clnt.c
parent1750ebcba914d87602007447433529f871d088f5 (diff)
Fix various memory leaks in SSL, apps and DSA
Diffstat (limited to 'ssl/s3_clnt.c')
-rw-r--r--ssl/s3_clnt.c9
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 */