Fixed crash in SocketSelector::add when passing an invalid socket

This commit is contained in:
Laurent Gomila 2012-06-26 21:55:45 +02:00
parent 5706111088
commit aa534a0936
2 changed files with 10 additions and 5 deletions

View file

@ -73,11 +73,15 @@ SocketSelector::~SocketSelector()
////////////////////////////////////////////////////////////
void SocketSelector::add(Socket& socket)
{
FD_SET(socket.getHandle(), &m_impl->AllSockets);
SocketHandle handle = socket.getHandle();
if (handle != SocketImpl::invalidSocket())
{
FD_SET(handle, &m_impl->AllSockets);
int size = static_cast<int>(socket.getHandle());
if (size > m_impl->MaxSocket)
m_impl->MaxSocket = size;
int size = static_cast<int>(handle);
if (size > m_impl->MaxSocket)
m_impl->MaxSocket = size;
}
}