diff --git a/world/zoneserver.cpp b/world/zoneserver.cpp index ffc22352a..b40f3dc04 100644 --- a/world/zoneserver.cpp +++ b/world/zoneserver.cpp @@ -190,7 +190,7 @@ bool ZoneServer::Process() { Log.Out(Logs::Detail, Logs::World_Server,"Zone authorization failed."); auto pack = new ServerPacket(ServerOP_ZAAuthFailed); SendPacket(pack); - delete pack; + safe_delete(pack); Disconnect(); return false; } @@ -201,7 +201,7 @@ bool ZoneServer::Process() { Log.Out(Logs::Detail, Logs::World_Server,"Zone authorization failed."); auto pack = new ServerPacket(ServerOP_ZAAuthFailed); SendPacket(pack); - delete pack; + safe_delete(pack); Disconnect(); return false; } @@ -779,7 +779,7 @@ bool ZoneServer::Process() { whom->wrace = whoall->wrace; strcpy(whom->whom,whoall->whom); client_list.SendWhoAll(whoall->fromid,whoall->from, whoall->admin, whom, this); - delete whom; + safe_delete(whom); break; } case ServerOP_RequestOnlineGuildMembers: { @@ -958,7 +958,7 @@ bool ZoneServer::Process() { tod->start_eqtime=zoneserver_list.worldclock.getStartEQTime(); tod->start_realtime=zoneserver_list.worldclock.getStartRealTime(); SendPacket(pack); - delete pack; + safe_delete(pack); break; } case ServerOP_SetWorldTime: { @@ -1059,8 +1059,7 @@ bool ZoneServer::Process() { } else { - delete pack; - pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct)); + auto pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct)); ServerOP_Consent_Struct* scs = (ServerOP_Consent_Struct*)pack->pBuffer; strcpy(scs->grantname, s->grantname); strcpy(scs->ownername, s->ownername); @@ -1076,6 +1075,7 @@ bool ZoneServer::Process() { else { Log.Out(Logs::Detail, Logs::World_Server, "Unable to locate zone record for instance id %u in zoneserver list for ServerOP_Consent_Response operation.", s->instance_id); } + safe_delete(pack); } } else @@ -1091,8 +1091,7 @@ bool ZoneServer::Process() { } else { // send target not found back to requester - delete pack; - pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct)); + auto pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct)); ServerOP_Consent_Struct* scs = (ServerOP_Consent_Struct*)pack->pBuffer; strcpy(scs->grantname, s->grantname); strcpy(scs->ownername, s->ownername); @@ -1107,13 +1106,13 @@ bool ZoneServer::Process() { else { Log.Out(Logs::Detail, Logs::World_Server, "Unable to locate zone record for zone id %u in zoneserver list for ServerOP_Consent_Response operation.", s->zone_id); } + safe_delete(pack); } } } else { // send target not found back to requester - delete pack; - pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct)); + auto pack = new ServerPacket(ServerOP_Consent_Response, sizeof(ServerOP_Consent_Struct)); ServerOP_Consent_Struct* scs = (ServerOP_Consent_Struct*)pack->pBuffer; strcpy(scs->grantname, s->grantname); strcpy(scs->ownername, s->ownername); @@ -1128,6 +1127,7 @@ bool ZoneServer::Process() { else { Log.Out(Logs::Detail, Logs::World_Server, "Unable to locate zone record for zone id %u in zoneserver list for ServerOP_Consent_Response operation.", s->zone_id); } + safe_delete(pack); } break; } @@ -1313,15 +1313,17 @@ bool ZoneServer::Process() { } default: { - Log.Out(Logs::Detail, Logs::World_Server,"Unknown ServerOPcode from zone 0x%04x, size %d",pack->opcode,pack->size); + Log.Out(Logs::Detail, Logs::World_Server, "Unknown ServerOPcode from zone 0x%04x, size %d", pack->opcode, pack->size); DumpPacket(pack->pBuffer, pack->size); break; } } - if (pack) - delete pack; - else - Log.Out(Logs::Detail, Logs::World_Server, "Zoneserver process tried to delete pack when pack does not exist."); + if (pack) { + safe_delete(pack); + } + else { + Log.Out(Logs::Detail, Logs::World_Server, "Zoneserver process attempted to delete pack when pack does not exist."); + } } return true; }