summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libssl/ssl_lib.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c
index df1d278b2e..b9bfd7e24d 100644
--- a/src/lib/libssl/ssl_lib.c
+++ b/src/lib/libssl/ssl_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_lib.c,v 1.143 2017/01/24 01:46:12 jsing Exp $ */ 1/* $OpenBSD: ssl_lib.c,v 1.144 2017/01/24 01:47:22 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -529,8 +529,7 @@ SSL_free(SSL *s)
529 ssl_clear_hash_ctx(&s->read_hash); 529 ssl_clear_hash_ctx(&s->read_hash);
530 ssl_clear_hash_ctx(&s->internal->write_hash); 530 ssl_clear_hash_ctx(&s->internal->write_hash);
531 531
532 if (s->cert != NULL) 532 ssl_cert_free(s->cert);
533 ssl_cert_free(s->cert);
534 533
535 free(s->tlsext_hostname); 534 free(s->tlsext_hostname);
536 SSL_CTX_free(s->initial_ctx); 535 SSL_CTX_free(s->initial_ctx);
@@ -864,8 +863,7 @@ SSL_copy_session_id(SSL *t, const SSL *f)
864 t->cert = f->cert; 863 t->cert = f->cert;
865 } else 864 } else
866 t->cert = NULL; 865 t->cert = NULL;
867 if (tmp != NULL) 866 ssl_cert_free(tmp);
868 ssl_cert_free(tmp);
869 SSL_set_session_id_context(t, f->sid_ctx, f->sid_ctx_length); 867 SSL_set_session_id_context(t, f->sid_ctx, f->sid_ctx_length);
870} 868}
871 869
@@ -1984,8 +1982,7 @@ SSL_CTX_free(SSL_CTX *a)
1984 X509_STORE_free(a->cert_store); 1982 X509_STORE_free(a->cert_store);
1985 sk_SSL_CIPHER_free(a->cipher_list); 1983 sk_SSL_CIPHER_free(a->cipher_list);
1986 sk_SSL_CIPHER_free(a->internal->cipher_list_by_id); 1984 sk_SSL_CIPHER_free(a->internal->cipher_list_by_id);
1987 if (a->internal->cert != NULL) 1985 ssl_cert_free(a->internal->cert);
1988 ssl_cert_free(a->internal->cert);
1989 if (a->internal->client_CA != NULL) 1986 if (a->internal->client_CA != NULL)
1990 sk_X509_NAME_pop_free(a->internal->client_CA, X509_NAME_free); 1987 sk_X509_NAME_pop_free(a->internal->client_CA, X509_NAME_free);
1991 if (a->extra_certs != NULL) 1988 if (a->extra_certs != NULL)
@@ -2625,9 +2622,7 @@ SSL_dup(SSL *s)
2625 ret->method->internal->ssl_new(ret); 2622 ret->method->internal->ssl_new(ret);
2626 2623
2627 if (s->cert != NULL) { 2624 if (s->cert != NULL) {
2628 if (ret->cert != NULL) { 2625 ssl_cert_free(ret->cert);
2629 ssl_cert_free(ret->cert);
2630 }
2631 ret->cert = ssl_cert_dup(s->cert); 2626 ret->cert = ssl_cert_dup(s->cert);
2632 if (ret->cert == NULL) 2627 if (ret->cert == NULL)
2633 goto err; 2628 goto err;