Miscellaneous -Wshorten-64-to-32 fixes.
Bug: 516
Change-Id: Iba2014da414658c08e42e0993912fa73848832d3
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/54945
Reviewed-by: Bob Beck <bbe@google.com>
Auto-Submit: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/ssl/bio_ssl.cc b/ssl/bio_ssl.cc
index a249889..fe83450 100644
--- a/ssl/bio_ssl.cc
+++ b/ssl/bio_ssl.cc
@@ -109,7 +109,7 @@
// |bio->next_bio| with |ssl|'s rbio here, and on |BIO_CTRL_PUSH|. We call
// into the corresponding |BIO| directly. (We can implement the upstream
// behavior if it ends up necessary.)
- bio->shutdown = num;
+ bio->shutdown = static_cast<int>(num);
bio->ptr = ptr;
bio->init = 1;
return 1;
@@ -118,7 +118,7 @@
return bio->shutdown;
case BIO_CTRL_SET_CLOSE:
- bio->shutdown = num;
+ bio->shutdown = static_cast<int>(num);
return 1;
case BIO_CTRL_WPENDING:
diff --git a/ssl/extensions.cc b/ssl/extensions.cc
index 53a3e3c..863aff7 100644
--- a/ssl/extensions.cc
+++ b/ssl/extensions.cc
@@ -1248,10 +1248,12 @@
}
}
+ // |orig_len| fits in |unsigned| because TLS extensions use 16-bit lengths.
uint8_t *selected;
uint8_t selected_len;
if (ssl->ctx->next_proto_select_cb(
- ssl, &selected, &selected_len, orig_contents, orig_len,
+ ssl, &selected, &selected_len, orig_contents,
+ static_cast<unsigned>(orig_len),
ssl->ctx->next_proto_select_cb_arg) != SSL_TLSEXT_ERR_OK ||
!ssl->s3->next_proto_negotiated.CopyFrom(
MakeConstSpan(selected, selected_len))) {
@@ -1564,11 +1566,14 @@
return false;
}
+ // |protocol_name_list| fits in |unsigned| because TLS extensions use 16-bit
+ // lengths.
const uint8_t *selected;
uint8_t selected_len;
int ret = ssl->ctx->alpn_select_cb(
ssl, &selected, &selected_len, CBS_data(&protocol_name_list),
- CBS_len(&protocol_name_list), ssl->ctx->alpn_select_cb_arg);
+ static_cast<unsigned>(CBS_len(&protocol_name_list)),
+ ssl->ctx->alpn_select_cb_arg);
// ALPN is required when QUIC is used.
if (ssl->quic_method &&
(ret == SSL_TLSEXT_ERR_NOACK || ret == SSL_TLSEXT_ERR_ALERT_WARNING)) {
diff --git a/ssl/test/mock_quic_transport.cc b/ssl/test/mock_quic_transport.cc
index 310b779..b1c42f6 100644
--- a/ssl/test/mock_quic_transport.cc
+++ b/ssl/test/mock_quic_transport.cc
@@ -16,8 +16,9 @@
#include <openssl/span.h>
+#include <algorithm>
+#include <climits>
#include <cstring>
-#include <limits>
MockQuicTransport::MockQuicTransport(bssl::UniquePtr<BIO> bio, SSL *ssl)
: bio_(std::move(bio)),
@@ -51,11 +52,8 @@
size_t len = out.size();
uint8_t *buf = out.data();
while (len > 0) {
- int chunk_len = std::numeric_limits<int>::max();
- if (len <= static_cast<unsigned int>(std::numeric_limits<int>::max())) {
- chunk_len = len;
- }
- int ret = BIO_read(bio, buf, chunk_len);
+ size_t chunk_len = std::min(len, size_t{INT_MAX});
+ int ret = BIO_read(bio, buf, static_cast<int>(chunk_len));
if (ret <= 0) {
return false;
}
diff --git a/ssl/test/test_config.cc b/ssl/test/test_config.cc
index 0230bdb..cb79dea 100644
--- a/ssl/test/test_config.cc
+++ b/ssl/test/test_config.cc
@@ -1619,7 +1619,7 @@
OPENSSL_strlcpy(out_identity, config->psk_identity.c_str(), max_identity_len);
OPENSSL_memcpy(out_psk, config->psk.data(), config->psk.size());
- return config->psk.size();
+ return static_cast<unsigned>(config->psk.size());
}
static unsigned PskServerCallback(SSL *ssl, const char *identity,
@@ -1637,7 +1637,7 @@
}
OPENSSL_memcpy(out_psk, config->psk.data(), config->psk.size());
- return config->psk.size();
+ return static_cast<unsigned>(config->psk.size());
}
static ssl_verify_result_t CustomVerifyCallback(SSL *ssl, uint8_t *out_alert) {