diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2017-01-24 01:39:14 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2017-01-24 01:39:14 +0000 |
commit | c8780a23c0377abf0b3788f99af97773e6935376 (patch) | |
tree | d239cbe166c5f7579986f62f49d11295e1eee622 /lib/libssl | |
parent | 221b79466159a038271ecc0e94bb72107b0467bb (diff) |
ssl_sess_cert_free() checks for NULL, so do not bother doing it at the
call sites.
Diffstat (limited to 'lib/libssl')
-rw-r--r-- | lib/libssl/s3_clnt.c | 5 | ||||
-rw-r--r-- | lib/libssl/ssl_sess.c | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/lib/libssl/s3_clnt.c b/lib/libssl/s3_clnt.c index 055f8d1f3ab..e8cc0e3905f 100644 --- a/lib/libssl/s3_clnt.c +++ b/lib/libssl/s3_clnt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: s3_clnt.c,v 1.170 2017/01/23 13:36:13 jsing Exp $ */ +/* $OpenBSD: s3_clnt.c,v 1.171 2017/01/24 01:39:13 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -1037,8 +1037,7 @@ ssl3_get_server_certificate(SSL *s) sc = ssl_sess_cert_new(); if (sc == NULL) goto err; - if (SSI(s)->sess_cert) - ssl_sess_cert_free(SSI(s)->sess_cert); + ssl_sess_cert_free(SSI(s)->sess_cert); SSI(s)->sess_cert = sc; sc->cert_chain = sk; diff --git a/lib/libssl/ssl_sess.c b/lib/libssl/ssl_sess.c index 4033b1e8f1e..2ebdf81b41f 100644 --- a/lib/libssl/ssl_sess.c +++ b/lib/libssl/ssl_sess.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_sess.c,v 1.64 2017/01/24 01:34:09 jsing Exp $ */ +/* $OpenBSD: ssl_sess.c,v 1.65 2017/01/24 01:39:13 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -699,11 +699,14 @@ SSL_SESSION_free(SSL_SESSION *ss) explicit_bzero(ss->master_key, sizeof ss->master_key); explicit_bzero(ss->session_id, sizeof ss->session_id); - if (ss->internal->sess_cert != NULL) - ssl_sess_cert_free(ss->internal->sess_cert); + + ssl_sess_cert_free(ss->internal->sess_cert); + X509_free(ss->peer); + if (ss->ciphers != NULL) sk_SSL_CIPHER_free(ss->ciphers); + free(ss->tlsext_hostname); free(ss->tlsext_tick); free(ss->internal->tlsext_ecpointformatlist); |