From 35771ff8afc2201b5cf5b884db5b3889edde06bc Mon Sep 17 00:00:00 2001 From: Raul Tambre Date: Sat, 5 Jan 2019 22:39:39 +0200 Subject: [PATCH] Fix protos_len size in SSL_set_alpn_protos and SSL_CTX_set_alpn_protos MakeConstSpan() takes size_t as the second argument, so protos_len ought to also be size_t. Bug: chromium:879657 Change-Id: I93089ea20ce4b9c2b9d4d954dce807feb5341482 Reviewed-on: https://boringssl-review.googlesource.com/c/34164 Reviewed-by: Adam Langley Commit-Queue: David Benjamin --- include/openssl/ssl.h | 4 ++-- ssl/ssl_lib.cc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index d5883950d..2f0b1b525 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -2661,7 +2661,7 @@ OPENSSL_EXPORT SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx); // WARNING: this function is dangerous because it breaks the usual return value // convention. OPENSSL_EXPORT int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const uint8_t *protos, - unsigned protos_len); + size_t protos_len); // SSL_set_alpn_protos sets the client ALPN protocol list on |ssl| to |protos|. // |protos| must be in wire-format (i.e. a series of non-empty, 8-bit @@ -2671,7 +2671,7 @@ OPENSSL_EXPORT int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const uint8_t *protos, // WARNING: this function is dangerous because it breaks the usual return value // convention. OPENSSL_EXPORT int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos, - unsigned protos_len); + size_t protos_len); // SSL_CTX_set_alpn_select_cb sets a callback function on |ctx| that is called // during ClientHello processing in order to select an ALPN protocol from the diff --git a/ssl/ssl_lib.cc b/ssl/ssl_lib.cc index a3c25f3b7..313a0fa05 100644 --- a/ssl/ssl_lib.cc +++ b/ssl/ssl_lib.cc @@ -2149,14 +2149,14 @@ void SSL_CTX_set_next_proto_select_cb( } int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const uint8_t *protos, - unsigned protos_len) { + size_t protos_len) { // Note this function's calling convention is backwards. return ctx->alpn_client_proto_list.CopyFrom(MakeConstSpan(protos, protos_len)) ? 0 : 1; } -int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos, unsigned protos_len) { +int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos, size_t protos_len) { // Note this function's calling convention is backwards. if (!ssl->config) { return 1;