Make add_socketread() close the new socket if it can't be added to the
socket manager because it exceeds FD_SETSIZE. git-svn-id: svn://svn.code.sf.net/p/bitchx/code/trunk@307 13b04d17-f746-0410-82c6-800466cd88b0
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
[Changes 1.2c01]
|
[Changes 1.2c01]
|
||||||
|
|
||||||
|
* Ensure add_socketread() doesn't leak file descriptors. (caf)
|
||||||
|
|
||||||
* Fix listing bans on local channels (/BANS &channel). (flashback)
|
* Fix listing bans on local channels (/BANS &channel). (flashback)
|
||||||
|
|
||||||
* Fix unbanning by number (/UNBAN #channel #number). (caf)
|
* Fix unbanning by number (/UNBAN #channel #number). (caf)
|
||||||
|
|||||||
@@ -3514,7 +3514,11 @@ int BX_add_socketread(int s, int port, unsigned long flags, char *server, void (
|
|||||||
set_socket_read(&rd, &rd);
|
set_socket_read(&rd, &rd);
|
||||||
}
|
}
|
||||||
if (s >= FD_SETSIZE)
|
if (s >= FD_SETSIZE)
|
||||||
|
{
|
||||||
|
yell("File descriptor limit reached, dropping new socket.");
|
||||||
|
close(s);
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
if (s > sock_manager.max_fd)
|
if (s > sock_manager.max_fd)
|
||||||
sock_manager.max_fd = s;
|
sock_manager.max_fd = s;
|
||||||
sock_manager.count++;
|
sock_manager.count++;
|
||||||
|
|||||||
Reference in New Issue
Block a user