From: Christian Heimes Date: Thu, 14 Sep 2017 09:15:07 +0000 (+0200) Subject: [3.6] _ssl_: Fix compiler warning (GH-3559) (#3569) X-Git-Tag: v3.6.3rc1~20 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=472cc9f366ef16cab72eed21bdc6a24f194fc03a;p=python [3.6] _ssl_: Fix compiler warning (GH-3559) (#3569) Cast Py_buffer.len (Py_ssize_t, signed) to size_t (unsigned) to prevent the following warning: Modules/_ssl.c:3089:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]. (cherry picked from commit 5a61559fb0776a9a0f08294ec9003cea13940430) --- diff --git a/Modules/_ssl.c b/Modules/_ssl.c index 4a656a145a..a32fce47ef 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -3024,6 +3024,12 @@ _ssl__SSLContext__set_alpn_protocols_impl(PySSLContext *self, /*[clinic end generated code: output=87599a7f76651a9b input=9bba964595d519be]*/ { #ifdef HAVE_ALPN + if ((size_t)protos->len > UINT_MAX) { + PyErr_Format(PyExc_OverflowError, + "protocols longer than %d bytes", UINT_MAX); + return NULL; + } + PyMem_FREE(self->alpn_protocols); self->alpn_protocols = PyMem_Malloc(protos->len); if (!self->alpn_protocols)