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