Jump to content

[10540][Patch] Missing uint32 in RESYNC_RUNES packet


Auntie Mangos

Recommended Posts

This change originates from http://getmangos.eu/community/viewtopic.php?id=11759&p=121875&viewfull=1#post121875, don't know who the original author is.

For Rev. 10408.

Side note: In the original version, count+1 was used, but that seems wrong because the client can crash at logout if higher values used.

diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 0572c21..324819e 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -20984,7 +20984,8 @@ void Player::ConvertRune(uint8 index, RuneType newType)

void Player::ResyncRunes(uint8 count)
{
-    WorldPacket data(SMSG_RESYNC_RUNES, count * 2);
+    WorldPacket data(SMSG_RESYNC_RUNES, 4 + count * 2);
+    data << uint32(count);
    for(uint32 i = 0; i < count; ++i)
    {
        data << uint8(GetCurrentRune(i));                   // rune type

Link to comment
Share on other sites

  • 40 years later...
  • 1 month later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use