additional crash protection from a bad client/connection
This commit is contained in:
parent
89acf4da25
commit
fbe00fc46f
@ -512,6 +512,15 @@ EQ2Packet* Spawn::spawn_serialize(Player* player, int16 version, int16 offset, i
|
||||
}
|
||||
|
||||
PacketStruct* header = player->GetSpawnHeaderStruct();
|
||||
if (!header) {
|
||||
LogWrite(SPAWN__ERROR, 0, "Spawn", "Spawn::spawn_serialize: GetSpawnHeaderStruct returned null!");
|
||||
player->GetZone()->SetSpawnStructs(player->GetClient());
|
||||
header = player->GetSpawnHeaderStruct();
|
||||
if(!header) {
|
||||
LogWrite(SPAWN__ERROR, 0, "Spawn", "Spawn::spawn_serialize: GetSpawnHeaderStruct still null likely to crash!");
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
header->ResetData();
|
||||
InitializeHeaderPacketData(player, header, index);
|
||||
|
||||
|
@ -2647,6 +2647,10 @@ void PacketStruct::setItemArrayDataByName(const char* name, Item* item, Player*
|
||||
}
|
||||
|
||||
void PacketStruct::ResetData() {
|
||||
if (this == nullptr) {
|
||||
LogWrite(PACKET__ERROR, 0, "PacketStruct", "ResetData called on a null PacketStruct pointer");
|
||||
return;
|
||||
}
|
||||
vector<DataStruct*>::iterator itr;
|
||||
for (itr = structs.begin(); itr != structs.end(); itr++) {
|
||||
DataStruct* ds = *itr;
|
||||
|
Loading…
x
Reference in New Issue
Block a user