Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b08ff7d

Browse files
committed
Safely downcast SOCKET_T to int in _ssl module
1 parent cc6cdce commit b08ff7d

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

Modules/_ssl.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,7 @@ newPySSLSocket(PySSLContext *sslctx, PySocketSockObject *sock,
499499
self->ssl = SSL_new(ctx);
500500
PySSL_END_ALLOW_THREADS
501501
SSL_set_app_data(self->ssl,self);
502-
SSL_set_fd(self->ssl, sock->sock_fd);
502+
SSL_set_fd(self->ssl, Py_SAFE_DOWNCAST(sock->sock_fd, SOCKET_T, int));
503503
mode = SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER;
504504
#ifdef SSL_MODE_AUTO_RETRY
505505
mode |= SSL_MODE_AUTO_RETRY;
@@ -1378,9 +1378,11 @@ check_socket_and_wait_for_timeout(PySocketSockObject *s, int writing)
13781378
/* See if the socket is ready */
13791379
PySSL_BEGIN_ALLOW_THREADS
13801380
if (writing)
1381-
rc = select(s->sock_fd+1, NULL, &fds, NULL, &tv);
1381+
rc = select(Py_SAFE_DOWNCAST(s->sock_fd+1, SOCKET_T, int),
1382+
NULL, &fds, NULL, &tv);
13821383
else
1383-
rc = select(s->sock_fd+1, &fds, NULL, NULL, &tv);
1384+
rc = select(Py_SAFE_DOWNCAST(s->sock_fd+1, SOCKET_T, int),
1385+
&fds, NULL, NULL, &tv);
13841386
PySSL_END_ALLOW_THREADS
13851387

13861388
#ifdef HAVE_POLL

0 commit comments

Comments
 (0)