summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-08-17 17:33:28 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-08-17 17:33:28 (GMT)
commit1a62a680d6ba9273571d7d5876d3bcb3fb9a06b7 (patch)
tree408ecc56cc103fc06b24ed7ad38374a08a8f17a4 /Modules
parentc399e852078858d0bd421c56c5769ea4cc607908 (diff)
downloadcpython-1a62a680d6ba9273571d7d5876d3bcb3fb9a06b7.zip
cpython-1a62a680d6ba9273571d7d5876d3bcb3fb9a06b7.tar.gz
cpython-1a62a680d6ba9273571d7d5876d3bcb3fb9a06b7.tar.bz2
Issue #22218: Fix "comparison between signed and unsigned integers" warnings in
socketmodule.c.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/socketmodule.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 829fd38..abadd8a 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1277,7 +1277,7 @@ idna_converter(PyObject *obj, struct maybe_idna *data)
return 0;
}
return Py_CLEANUP_SUPPORTED;
-}
+}
/* Parse a socket address argument according to the socket object's
address family. Return 1 if the address was in the proper format,
@@ -1308,12 +1308,13 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
Py_INCREF(args);
if (!PyArg_Parse(args, "y#", &path, &len))
goto unix_out;
+ assert(len >= 0);
addr = (struct sockaddr_un*)addr_ret;
#ifdef linux
if (len > 0 && path[0] == 0) {
/* Linux abstract namespace extension */
- if (len > sizeof addr->sun_path) {
+ if ((size_t)len > sizeof addr->sun_path) {
PyErr_SetString(PyExc_OSError,
"AF_UNIX path too long");
goto unix_out;
@@ -1323,7 +1324,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
#endif /* linux */
{
/* regular NULL-terminated string */
- if (len >= sizeof addr->sun_path) {
+ if ((size_t)len >= sizeof addr->sun_path) {
PyErr_SetString(PyExc_OSError,
"AF_UNIX path too long");
goto unix_out;
@@ -1675,7 +1676,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
if (len == 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));
ifr.ifr_name[(sizeof(ifr.ifr_name))-1] = '\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.");
/* Convenience function common to gethostbyname_ex and gethostbyaddr */
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;
PyObject *rtn_tuple = (PyObject *)NULL;