From: <tu...@us...> - 2010-04-20 15:15:54
|
Revision: 244 http://polserver.svn.sourceforge.net/polserver/?rev=244&view=rev Author: turley Date: 2010-04-20 15:15:44 +0000 (Tue, 20 Apr 2010) Log Message: ----------- first crash fix for pkts Modified Paths: -------------- trunk/pol-core/pol/network/packets.cpp trunk/pol-core/pol/network/packets.h Modified: trunk/pol-core/pol/network/packets.cpp =================================================================== --- trunk/pol-core/pol/network/packets.cpp 2010-04-19 14:50:47 UTC (rev 243) +++ trunk/pol-core/pol/network/packets.cpp 2010-04-20 15:15:44 UTC (rev 244) @@ -160,16 +160,16 @@ PacketInterfaceQueueMap::iterator itr = packets.find(sub); if (itr != packets.end()) { - PacketInterface* pkt = itr->second.front(); // get next one - itr->second.pop(); // and remove it from queue - pkt->ReSetBuffer(); - return pkt; + if (!itr->second.empty()) + { + PacketInterface* pkt = itr->second.front(); // get next one + itr->second.pop(); // and remove it from queue + pkt->ReSetBuffer(); + return pkt; + } } - else - return GetPacket(id,sub); } - else - return GetPacket(id,sub); + return GetPacket(id,sub); //critical end } Modified: trunk/pol-core/pol/network/packets.h =================================================================== --- trunk/pol-core/pol/network/packets.h 2010-04-19 14:50:47 UTC (rev 243) +++ trunk/pol-core/pol/network/packets.h 2010-04-20 15:15:44 UTC (rev 244) @@ -245,7 +245,7 @@ (*(u16*)&buffer[_suboff]) = cfBEu16(_sub); offset=1; } - inline u16 getSubID() { return ctBEu16((*(u16*)&buffer[_suboff])); } + inline u16 getSubID() { return _sub; /*ctBEu16((*(u16*)&buffer[_suboff]));*/ } }; //special def for encrypted buffer This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |