diff options
Diffstat (limited to 'src/lib/libssl/ssl_lib.c')
-rw-r--r-- | src/lib/libssl/ssl_lib.c | 15 |
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; |