Add three FD_SETSIZE changes to main/network.c (#125258) --- php-4.3.8/main/network.c.fdsetsize +++ php-4.3.8/main/network.c @@ -287,7 +287,7 @@ fd_set wset; fd_set eset; - if (timeout == NULL) { + if (timeout == NULL || sockfd > FD_SETSIZE) { /* blocking mode */ return connect(sockfd, addr, addrlen); } @@ -1010,6 +1010,8 @@ int retval; struct timeval timeout, *ptimeout; + if (sock->socket > FD_SETSIZE) return; + FD_ZERO(&fdr); FD_SET(sock->socket, &fdr); sock->timeout_event = 0; @@ -1187,6 +1189,8 @@ struct timeval tv = {0, 0}; char buf; + if (fd > FD_SETSIZE) return 1; + /* logic: if the select call indicates that there is data to * be read, but a read returns 0 bytes of data, then the socket * has been closed.