aboutsummaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorRich Salz <rsalz@openssl.org>2015-04-11 10:22:36 -0400
committerRich Salz <rsalz@openssl.org>2015-04-11 10:22:36 -0400
commit62adbcee392ba1061bf213174e8c59728e00860e (patch)
treeb0a97dcc7e5d9ff3a60b638e45b254a234b83a41 /ssl
parente2010b202a52be9120582537845f422a60d5d8c0 (diff)
downloadopenssl-62adbcee392ba1061bf213174e8c59728e00860e.tar.gz
free NULL cleanup 10
Avoid checking for NULL before calling free functions. This gets ssl.*free: ssl_sess_cert_free ssl_free ssl_excert_free ssl_cert_free SSL_free SSL_SRP_CTX_free SSL_SESSION_free SSL_CTX_free SSL_CTX_SRP_CTX_free SSL_CONF_CTX_free Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Diffstat (limited to 'ssl')
-rw-r--r--ssl/bio_ssl.c5
-rw-r--r--ssl/s3_clnt.c3
-rw-r--r--ssl/ssl_lib.c4
-rw-r--r--ssl/ssl_sess.c9
4 files changed, 8 insertions, 13 deletions
diff --git a/ssl/bio_ssl.c b/ssl/bio_ssl.c
index 0344b7e35b..7cf941d15b 100644
--- a/ssl/bio_ssl.c
+++ b/ssl/bio_ssl.c
@@ -125,7 +125,7 @@ static int ssl_free(BIO *a)
if (bs->ssl != NULL)
SSL_shutdown(bs->ssl);
if (a->shutdown) {
- if (a->init && (bs->ssl != NULL))
+ if (a->init)
SSL_free(bs->ssl);
a->init = 0;
a->flags = 0;
@@ -416,8 +416,7 @@ static long ssl_ctrl(BIO *b, int cmd, long num, void *ptr)
break;
case BIO_CTRL_DUP:
dbio = (BIO *)ptr;
- if (((BIO_SSL *)dbio->ptr)->ssl != NULL)
- SSL_free(((BIO_SSL *)dbio->ptr)->ssl);
+ SSL_free(((BIO_SSL *)dbio->ptr)->ssl);
((BIO_SSL *)dbio->ptr)->ssl = SSL_dup(ssl);
((BIO_SSL *)dbio->ptr)->renegotiate_count =
((BIO_SSL *)b->ptr)->renegotiate_count;
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
index 6da125897d..404f7f9f8f 100644
--- a/ssl/s3_clnt.c
+++ b/ssl/s3_clnt.c
@@ -1215,8 +1215,7 @@ int ssl3_get_server_certificate(SSL *s)
if (sc == NULL)
goto err;
- if (s->session->sess_cert)
- ssl_sess_cert_free(s->session->sess_cert);
+ ssl_sess_cert_free(s->session->sess_cert);
s->session->sess_cert = sc;
sc->cert_chain = sk;
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index abb3fd301f..cb7bd86e2a 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -393,8 +393,7 @@ SSL *SSL_new(SSL_CTX *ctx)
return (s);
err:
- if (s != NULL)
- SSL_free(s);
+ SSL_free(s);
SSLerr(SSL_F_SSL_NEW, ERR_R_MALLOC_FAILURE);
return (NULL);
}
@@ -2992,6 +2991,7 @@ int ssl_init_wbio_buffer(SSL *s, int push)
void ssl_free_wbio_buffer(SSL *s)
{
+ /* callers ensure s is never null */
if (s->bbio == NULL)
return;
diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
index 9273eb6c48..24e5d259d4 100644
--- a/ssl/ssl_sess.c
+++ b/ssl/ssl_sess.c
@@ -292,10 +292,8 @@ int ssl_get_new_session(SSL *s, int session)
else
ss->timeout = s->session_ctx->session_timeout;
- if (s->session != NULL) {
- SSL_SESSION_free(s->session);
- s->session = NULL;
- }
+ SSL_SESSION_free(s->session);
+ s->session = NULL;
if (session) {
if (s->version == SSL3_VERSION) {
@@ -578,8 +576,7 @@ int ssl_get_prev_session(SSL *s, unsigned char *session_id, int len,
s->session_ctx->stats.sess_hit++;
- if (s->session != NULL)
- SSL_SESSION_free(s->session);
+ SSL_SESSION_free(s->session);
s->session = ret;
s->verify_result = s->session->verify_result;
return 1;