From 25f71b36beb3b415b40e895dda38106aa84d4584 Mon Sep 17 00:00:00 2001 From: Emagi Date: Thu, 12 Jun 2025 13:59:44 -0400 Subject: [PATCH] Fix lack of mutex locking when serializing the player profile --- source/WorldServer/Player.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/WorldServer/Player.cpp b/source/WorldServer/Player.cpp index 1ba6306..88b38cd 100644 --- a/source/WorldServer/Player.cpp +++ b/source/WorldServer/Player.cpp @@ -599,6 +599,7 @@ PacketStruct* PlayerInfo::serialize2(int16 version){ packet->setDataByName("unknown20", 50, 75); */ //packet->setDataByName("rain2", -102.24); + player->GetSpellEffectMutex()->readlock(__FUNCTION__, __LINE__); for(int i=0;i<45;i++){ if(i < 30){ packet->setSubstructDataByName("maintained_effects", "name", info_struct->maintained_effects[i].name, i, 0); @@ -622,6 +623,7 @@ PacketStruct* PlayerInfo::serialize2(int16 version){ packet->setSubstructDataByName("spell_effects", "icon", info_struct->spell_effects[i].icon, i, 0); packet->setSubstructDataByName("spell_effects", "icon_type", info_struct->spell_effects[i].icon_backdrop, i, 0); } + player->GetSpellEffectMutex()->releasereadlock(__FUNCTION__, __LINE__); return packet; } return 0;