From ab005e59501bf9b5020a78f36db47df74130a7c7 Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Thu, 25 Feb 2021 01:50:58 -0500 Subject: [PATCH] [Cleanup] Make Client::Clearance less gross It's still pretty gross, but the bits ASan really hated are less gross --- world/client.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/world/client.cpp b/world/client.cpp index 811d53b31..e20de161f 100644 --- a/world/client.cpp +++ b/world/client.cpp @@ -1307,23 +1307,23 @@ void Client::Clearance(int8 response) outapp = new EQApplicationPacket(OP_ZoneServerInfo, sizeof(ZoneServerInfo_Struct)); ZoneServerInfo_Struct* zsi = (ZoneServerInfo_Struct*)outapp->pBuffer; - const char *zs_addr = nullptr; + std::string zs_addr; if(cle && cle->IsLocalClient()) { const char *local_addr = zs->GetCLocalAddress(); if(local_addr[0]) { zs_addr = local_addr; } else { - zs_addr = zs->GetIP().c_str(); + zs_addr = zs->GetIP(); - if (!zs_addr[0]) { - zs_addr = WorldConfig::get()->LocalAddress.c_str(); + if (zs_addr.empty()) { + zs_addr = WorldConfig::get()->LocalAddress; } - if(strcmp(zs_addr, "127.0.0.1") == 0) + if(zs_addr == "127.0.0.1") { LogInfo("Local zone address was [{}], setting local address to: [{}]", zs_addr, WorldConfig::get()->LocalAddress.c_str()); - zs_addr = WorldConfig::get()->LocalAddress.c_str(); + zs_addr = WorldConfig::get()->LocalAddress; } else { LogInfo("Local zone address [{}]", zs_addr); } @@ -1334,11 +1334,11 @@ void Client::Clearance(int8 response) if(addr[0]) { zs_addr = addr; } else { - zs_addr = WorldConfig::get()->WorldAddress.c_str(); + zs_addr = WorldConfig::get()->WorldAddress; } } - strcpy(zsi->ip, zs_addr); + strcpy(zsi->ip, zs_addr.c_str()); zsi->port =zs->GetCPort(); LogInfo("Sending client to zone [{}] ([{}]:[{}]) at [{}]:[{}]", zonename, zone_id, instance_id, zsi->ip, zsi->port); QueuePacket(outapp);