From 49bb4565948cec7b52008ad4d18eaced196e319b Mon Sep 17 00:00:00 2001 From: Image <> Date: Wed, 10 Mar 2021 07:52:50 -0500 Subject: [PATCH] Send biography packet only if the biography is set --- EQ2/source/WorldServer/client.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/EQ2/source/WorldServer/client.cpp b/EQ2/source/WorldServer/client.cpp index 591516dcf..f5124f9a8 100644 --- a/EQ2/source/WorldServer/client.cpp +++ b/EQ2/source/WorldServer/client.cpp @@ -9233,7 +9233,20 @@ void Client::SendBiography() { PacketStruct* packet = configReader.getStruct("WS_BioUpdate", GetVersion()); if (packet) { char biography[512]; - strncpy(biography, player->GetInfoStruct()->get_biography().c_str(), player->GetInfoStruct()->get_biography().size()); + if(player->GetInfoStruct()->get_biography().size() < 1) + { + safe_delete(packet); + return; + } + else + { + int16 size = player->GetInfoStruct()->get_biography().size(); + if(size>511) + size = 511; + + strncpy(biography, player->GetInfoStruct()->get_biography().c_str(), player->GetInfoStruct()->get_biography().size()); + biography[player->GetInfoStruct()->get_biography().size()] = '\0'; + } packet->setDataByName("biography", biography); QueuePacket(packet->serialize()); @@ -10278,4 +10291,4 @@ void Client::AwardCoins(int64 total_coins, std::string reason) int8 type = CHANNEL_LOOT; SimpleMessage(type, message.c_str()); } -} +} \ No newline at end of file