From 464783a8dcc337c103801b8c551d1331baec1e9c Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 3 Nov 2016 09:35:41 -0400 Subject: [PATCH] Use explicit casts to avoid warnings when building with openssl 1.1 fixes bug 20551; bugfix on 0.2.1.1-alpha --- changes/bug20551 | 3 +++ src/common/tortls.c | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 changes/bug20551 diff --git a/changes/bug20551 b/changes/bug20551 new file mode 100644 index 000000000..1e0746b66 --- /dev/null +++ b/changes/bug20551 @@ -0,0 +1,3 @@ + o Minor bugfixes (compilation); + - Fix implicit conversion warnings under OpenSSL 1.1. + Fixes bug 20551; bugfix on 0.2.1.1-alpha. diff --git a/src/common/tortls.c b/src/common/tortls.c index 9507bb76e..89ad6af93 100644 --- a/src/common/tortls.c +++ b/src/common/tortls.c @@ -1656,8 +1656,8 @@ tor_tls_new(int sock, int isServer) result->state = TOR_TLS_ST_HANDSHAKE; result->isServer = isServer; result->wantwrite_n = 0; - result->last_write_count = BIO_number_written(bio); - result->last_read_count = BIO_number_read(bio); + result->last_write_count = (unsigned long) BIO_number_written(bio); + result->last_read_count = (unsigned long) BIO_number_read(bio); if (result->last_write_count || result->last_read_count) { log_warn(LD_NET, "Newly created BIO has read count %lu, write count %lu", result->last_read_count, result->last_write_count); @@ -2271,7 +2271,7 @@ tor_tls_get_n_raw_bytes(tor_tls_t *tls, size_t *n_read, size_t *n_written) { BIO *wbio, *tmpbio; unsigned long r, w; - r = BIO_number_read(SSL_get_rbio(tls->ssl)); + r = (unsigned long) BIO_number_read(SSL_get_rbio(tls->ssl)); /* We want the number of bytes actually for real written. Unfortunately, * sometimes OpenSSL replaces the wbio on tls->ssl with a buffering bio, * which makes the answer turn out wrong. Let's cope with that. Note @@ -2292,7 +2292,7 @@ tor_tls_get_n_raw_bytes(tor_tls_t *tls, size_t *n_read, size_t *n_written) if (wbio->method == BIO_f_buffer() && (tmpbio = BIO_next(wbio)) != NULL) wbio = tmpbio; #endif - w = BIO_number_written(wbio); + w = (unsigned long) BIO_number_written(wbio); /* We are ok with letting these unsigned ints go "negative" here: * If we wrapped around, this should still give us the right answer, unless