[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 5a61559fb0)
This commit is contained in:
Christian Heimes 2017-09-14 11:15:07 +02:00 committed by GitHub
parent 5dbb28ecec
commit 472cc9f366

View file

@ -3024,6 +3024,12 @@ _ssl__SSLContext__set_alpn_protocols_impl(PySSLContext *self,
/*[clinic end generated code: output=87599a7f76651a9b input=9bba964595d519be]*/ /*[clinic end generated code: output=87599a7f76651a9b input=9bba964595d519be]*/
{ {
#ifdef HAVE_ALPN #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); PyMem_FREE(self->alpn_protocols);
self->alpn_protocols = PyMem_Malloc(protos->len); self->alpn_protocols = PyMem_Malloc(protos->len);
if (!self->alpn_protocols) if (!self->alpn_protocols)