diff --git a/thread.c b/thread.c index d9d497ad6c..80550eeaaa 100644 --- a/thread.c +++ b/thread.c @@ -2471,7 +2471,7 @@ rb_fd_rcopy(fd_set *dst, rb_fdset_t *src) /* we assume src is the result of select() with dst, so dst should be * larger or equal than src. */ - if (max > FD_SETSIZE || max > dst->fd_count) { + if (max > FD_SETSIZE || (UINT)max > dst->fd_count) { rb_raise(rb_eArgError, "too large fdsets"); } diff --git a/win32/win32.c b/win32/win32.c index 5851377ff2..fc1cd29b2d 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -3147,7 +3147,7 @@ overlapped_socket_io(BOOL input, int fd, char *buf, int len, int flags, { int r; int ret; - int mode; + int mode = 0; DWORD flg; WSAOVERLAPPED wol; WSABUF wbuf; @@ -3282,7 +3282,7 @@ recvmsg(int fd, struct msghdr *msg, int flags) static WSARecvMsg_t pWSARecvMsg = NULL; WSAMSG wsamsg; SOCKET s; - int mode; + int mode = 0; DWORD len; int ret; @@ -3340,7 +3340,7 @@ sendmsg(int fd, const struct msghdr *msg, int flags) static WSASendMsg_t pWSASendMsg = NULL; WSAMSG wsamsg; SOCKET s; - int mode; + int mode = 0; DWORD len; int ret; @@ -3811,7 +3811,7 @@ dupfd(HANDLE hDup, char flags, int minfd) goto close_fds_and_return; } fds[filled++] = ret; - } while (filled < (sizeof(fds)/sizeof(fds[0]))); + } while (filled < (int)numberof(fds)); ret = dupfd(hDup, flags, minfd);