diff options
Diffstat (limited to 'ext/socket')
-rw-r--r-- | ext/socket/ancdata.c | 2 | ||||
-rw-r--r-- | ext/socket/unixsocket.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c index 045b68e9bc..abaf19d8bd 100644 --- a/ext/socket/ancdata.c +++ b/ext/socket/ancdata.c @@ -1597,7 +1597,7 @@ bsock_recvmsg_internal(int argc, VALUE *argv, VALUE sock, int nonblock) if (NIL_P(vmaxctllen) && (mh.msg_flags & MSG_CTRUNC)) { #define BIG_ENOUGH_SPACE 65536 if (BIG_ENOUGH_SPACE < maxctllen && - mh.msg_controllen < maxctllen - BIG_ENOUGH_SPACE) { + mh.msg_controllen < (socklen_t)(maxctllen - BIG_ENOUGH_SPACE)) { /* there are big space bug truncated. * file descriptors limit? */ if (!gc_done) { diff --git a/ext/socket/unixsocket.c b/ext/socket/unixsocket.c index 82893abcfe..25a2c1e331 100644 --- a/ext/socket/unixsocket.c +++ b/ext/socket/unixsocket.c @@ -339,7 +339,7 @@ unix_recv_io(int argc, VALUE *argv, VALUE sock) rb_sys_fail("recvmsg(2)"); #if FD_PASSING_BY_MSG_CONTROL - if (arg.msg.msg_controllen < sizeof(struct cmsghdr)) { + if (arg.msg.msg_controllen < (socklen_t)sizeof(struct cmsghdr)) { rb_raise(rb_eSocket, "file descriptor was not passed (msg_controllen=%d smaller than sizeof(struct cmsghdr)=%d)", (int)arg.msg.msg_controllen, (int)sizeof(struct cmsghdr)); @@ -354,12 +354,12 @@ unix_recv_io(int argc, VALUE *argv, VALUE sock) "file descriptor was not passed (cmsg_type=%d, %d expected)", cmsg.hdr.cmsg_type, SCM_RIGHTS); } - if (arg.msg.msg_controllen < CMSG_LEN(sizeof(int))) { + if (arg.msg.msg_controllen < (socklen_t)CMSG_LEN(sizeof(int))) { rb_raise(rb_eSocket, "file descriptor was not passed (msg_controllen=%d smaller than CMSG_LEN(sizeof(int))=%d)", (int)arg.msg.msg_controllen, (int)CMSG_LEN(sizeof(int))); } - if (CMSG_SPACE(sizeof(int)) < arg.msg.msg_controllen) { + if ((socklen_t)CMSG_SPACE(sizeof(int)) < arg.msg.msg_controllen) { rb_raise(rb_eSocket, "file descriptor was not passed (msg_controllen=%d bigger than CMSG_SPACE(sizeof(int))=%d)", (int)arg.msg.msg_controllen, (int)CMSG_SPACE(sizeof(int))); |