Kaydet (Commit) 1a62a680 authored tarafından Victor Stinner's avatar Victor Stinner

Issue #22218: Fix "comparison between signed and unsigned integers" warnings in

socketmodule.c.
üst c399e852
...@@ -1277,7 +1277,7 @@ idna_converter(PyObject *obj, struct maybe_idna *data) ...@@ -1277,7 +1277,7 @@ idna_converter(PyObject *obj, struct maybe_idna *data)
return 0; return 0;
} }
return Py_CLEANUP_SUPPORTED; return Py_CLEANUP_SUPPORTED;
} }
/* Parse a socket address argument according to the socket object's /* Parse a socket address argument according to the socket object's
address family. Return 1 if the address was in the proper format, address family. Return 1 if the address was in the proper format,
...@@ -1308,12 +1308,13 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args, ...@@ -1308,12 +1308,13 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
Py_INCREF(args); Py_INCREF(args);
if (!PyArg_Parse(args, "y#", &path, &len)) if (!PyArg_Parse(args, "y#", &path, &len))
goto unix_out; goto unix_out;
assert(len >= 0);
addr = (struct sockaddr_un*)addr_ret; addr = (struct sockaddr_un*)addr_ret;
#ifdef linux #ifdef linux
if (len > 0 && path[0] == 0) { if (len > 0 && path[0] == 0) {
/* Linux abstract namespace extension */ /* Linux abstract namespace extension */
if (len > sizeof addr->sun_path) { if ((size_t)len > sizeof addr->sun_path) {
PyErr_SetString(PyExc_OSError, PyErr_SetString(PyExc_OSError,
"AF_UNIX path too long"); "AF_UNIX path too long");
goto unix_out; goto unix_out;
...@@ -1323,7 +1324,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args, ...@@ -1323,7 +1324,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
#endif /* linux */ #endif /* linux */
{ {
/* regular NULL-terminated string */ /* regular NULL-terminated string */
if (len >= sizeof addr->sun_path) { if ((size_t)len >= sizeof addr->sun_path) {
PyErr_SetString(PyExc_OSError, PyErr_SetString(PyExc_OSError,
"AF_UNIX path too long"); "AF_UNIX path too long");
goto unix_out; goto unix_out;
...@@ -1675,7 +1676,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args, ...@@ -1675,7 +1676,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
if (len == 0) { if (len == 0) {
ifr.ifr_ifindex = 0; ifr.ifr_ifindex = 0;
} else if (len < sizeof(ifr.ifr_name)) { } else if ((size_t)len < sizeof(ifr.ifr_name)) {
strncpy(ifr.ifr_name, PyBytes_AS_STRING(interfaceName), sizeof(ifr.ifr_name)); strncpy(ifr.ifr_name, PyBytes_AS_STRING(interfaceName), sizeof(ifr.ifr_name));
ifr.ifr_name[(sizeof(ifr.ifr_name))-1] = '\0'; ifr.ifr_name[(sizeof(ifr.ifr_name))-1] = '\0';
if (ioctl(s->sock_fd, SIOCGIFINDEX, &ifr) < 0) { if (ioctl(s->sock_fd, SIOCGIFINDEX, &ifr) < 0) {
...@@ -4290,7 +4291,7 @@ Return the IP address (a string of the form '255.255.255.255') for a host."); ...@@ -4290,7 +4291,7 @@ Return the IP address (a string of the form '255.255.255.255') for a host.");
/* Convenience function common to gethostbyname_ex and gethostbyaddr */ /* Convenience function common to gethostbyname_ex and gethostbyaddr */
static PyObject * static PyObject *
gethost_common(struct hostent *h, struct sockaddr *addr, int alen, int af) gethost_common(struct hostent *h, struct sockaddr *addr, size_t alen, int af)
{ {
char **pch; char **pch;
PyObject *rtn_tuple = (PyObject *)NULL; PyObject *rtn_tuple = (PyObject *)NULL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment