summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/ssl_lib.c')
-rw-r--r--src/lib/libssl/ssl_lib.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c
index beb8089475..db310de881 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.75 2014/07/12 13:11:53 jsing Exp $ */ 1/* $OpenBSD: ssl_lib.c,v 1.76 2014/07/12 16:03:37 miod 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 *
@@ -355,8 +355,7 @@ err:
355 if (s != NULL) { 355 if (s != NULL) {
356 if (s->cert != NULL) 356 if (s->cert != NULL)
357 ssl_cert_free(s->cert); 357 ssl_cert_free(s->cert);
358 if (s->ctx != NULL) 358 SSL_CTX_free(s->ctx); /* decrement reference count */
359 SSL_CTX_free(s->ctx); /* decrement reference count */
360 free(s); 359 free(s);
361 } 360 }
362 SSLerr(SSL_F_SSL_NEW, 361 SSLerr(SSL_F_SSL_NEW,
@@ -528,8 +527,7 @@ SSL_free(SSL *s)
528 /* Free up if allocated */ 527 /* Free up if allocated */
529 528
530 free(s->tlsext_hostname); 529 free(s->tlsext_hostname);
531 if (s->initial_ctx) 530 SSL_CTX_free(s->initial_ctx);
532 SSL_CTX_free(s->initial_ctx);
533 free(s->tlsext_ecpointformatlist); 531 free(s->tlsext_ecpointformatlist);
534 free(s->tlsext_ellipticcurvelist); 532 free(s->tlsext_ellipticcurvelist);
535 if (s->tlsext_ocsp_exts) 533 if (s->tlsext_ocsp_exts)
@@ -545,8 +543,7 @@ SSL_free(SSL *s)
545 if (s->method != NULL) 543 if (s->method != NULL)
546 s->method->ssl_free(s); 544 s->method->ssl_free(s);
547 545
548 if (s->ctx) 546 SSL_CTX_free(s->ctx);
549 SSL_CTX_free(s->ctx);
550 547
551 548
552#ifndef OPENSSL_NO_NEXTPROTONEG 549#ifndef OPENSSL_NO_NEXTPROTONEG
@@ -1831,8 +1828,7 @@ err:
1831 SSLerr(SSL_F_SSL_CTX_NEW, 1828 SSLerr(SSL_F_SSL_CTX_NEW,
1832 ERR_R_MALLOC_FAILURE); 1829 ERR_R_MALLOC_FAILURE);
1833err2: 1830err2:
1834 if (ret != NULL) 1831 SSL_CTX_free(ret);
1835 SSL_CTX_free(ret);
1836 return (NULL); 1832 return (NULL);
1837} 1833}
1838 1834
@@ -2725,8 +2721,7 @@ SSL_set_SSL_CTX(SSL *ssl, SSL_CTX* ctx)
2725 ssl_cert_free(ssl->cert); 2721 ssl_cert_free(ssl->cert);
2726 ssl->cert = ssl_cert_dup(ctx->cert); 2722 ssl->cert = ssl_cert_dup(ctx->cert);
2727 CRYPTO_add(&ctx->references, 1, CRYPTO_LOCK_SSL_CTX); 2723 CRYPTO_add(&ctx->references, 1, CRYPTO_LOCK_SSL_CTX);
2728 if (ssl->ctx != NULL) 2724 SSL_CTX_free(ssl->ctx); /* decrement reference count */
2729 SSL_CTX_free(ssl->ctx); /* decrement reference count */
2730 ssl->ctx = ctx; 2725 ssl->ctx = ctx;
2731 return (ssl->ctx); 2726 return (ssl->ctx);
2732} 2727}