03-17-2012, 09:00 PM
Server can send packets to a cClientHandle that no longer exists, a dangling pointer.
It happens in cChunk::Broadcast, but it crashes somewhere deeper in the stack.
Something to note is that the server was updating .pak files from version 2 to 3. A client disconnected somewhere in the middle of conversion (thought it has a different address than the dangling pointer), and the server crashes after conversion was done.
Simply put, cChunk had a dangling pointer in m_LoadedByClient
It happens in cChunk::Broadcast, but it crashes somewhere deeper in the stack.
Something to note is that the server was updating .pak files from version 2 to 3. A client disconnected somewhere in the middle of conversion (thought it has a different address than the dangling pointer), and the server crashes after conversion was done.
Simply put, cChunk had a dangling pointer in m_LoadedByClient