summaryrefslogtreecommitdiff
path: root/src/lib/libssl/bio_ssl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/bio_ssl.c')
-rw-r--r--src/lib/libssl/bio_ssl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/libssl/bio_ssl.c b/src/lib/libssl/bio_ssl.c
index 467e149947..d683ee43e1 100644
--- a/src/lib/libssl/bio_ssl.c
+++ b/src/lib/libssl/bio_ssl.c
@@ -403,6 +403,10 @@ static long ssl_ctrl(BIO *b, int cmd, long num, void *ptr)
403 { 403 {
404 BIO_free_all(ssl->wbio); 404 BIO_free_all(ssl->wbio);
405 } 405 }
406 if (b->next_bio != NULL)
407 {
408 CRYPTO_add(&b->next_bio->references,1,CRYPTO_LOCK_BIO);
409 }
406 ssl->wbio=NULL; 410 ssl->wbio=NULL;
407 ssl->rbio=NULL; 411 ssl->rbio=NULL;
408 break; 412 break;
@@ -509,6 +513,7 @@ static int ssl_puts(BIO *bp, const char *str)
509 513
510BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx) 514BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx)
511 { 515 {
516#ifndef OPENSSL_NO_SOCK
512 BIO *ret=NULL,*buf=NULL,*ssl=NULL; 517 BIO *ret=NULL,*buf=NULL,*ssl=NULL;
513 518
514 if ((buf=BIO_new(BIO_f_buffer())) == NULL) 519 if ((buf=BIO_new(BIO_f_buffer())) == NULL)
@@ -521,6 +526,7 @@ BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx)
521err: 526err:
522 if (buf != NULL) BIO_free(buf); 527 if (buf != NULL) BIO_free(buf);
523 if (ssl != NULL) BIO_free(ssl); 528 if (ssl != NULL) BIO_free(ssl);
529#endif
524 return(NULL); 530 return(NULL);
525 } 531 }
526 532