diff --git a/src/game/Mail.cpp b/src/game/Mail.cpp index 282189636..c2bd28d4a 100644 --- a/src/game/Mail.cpp +++ b/src/game/Mail.cpp @@ -529,6 +529,13 @@ void WorldSession::HandleGetMailList(WorldPacket & recv_data ) for(PlayerMails::iterator itr = _player->GetMailBegin(); itr != _player->GetMailEnd(); ++itr) { + // packet send mail count as uint8, prevent overflow + if(mailsCount >= 254) + { + realCount += 1; + continue; + } + // skip deleted or not delivered (deliver delay not expired) mails if ((*itr)->state == MAIL_STATE_DELETED || cur_time < (*itr)->deliver_time) continue; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 7693cc68b..33236e307 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8772" + #define REVISION_NR "8773" #endif // __REVISION_NR_H__