fix(Core/Packets): Fix a crash in MSG_RANDOM_ROLL. (#14545)
This commit is contained in:
parent
e322c017ea
commit
777a1be394
2 changed files with 7 additions and 1 deletions
|
|
@ -16047,7 +16047,7 @@ void Player::RemoveRestFlag(RestFlag restFlag)
|
|||
|
||||
uint32 Player::DoRandomRoll(uint32 minimum, uint32 maximum)
|
||||
{
|
||||
ASSERT(minimum <= maximum || maximum <= 10000);
|
||||
ASSERT(minimum <= maximum);
|
||||
|
||||
uint32 roll = urand(minimum, maximum);
|
||||
|
||||
|
|
|
|||
|
|
@ -567,6 +567,12 @@ void WorldSession::HandleRandomRollOpcode(WorldPackets::Misc::RandomRollClient&
|
|||
minimum = packet.Min;
|
||||
maximum = packet.Max;
|
||||
|
||||
/** error handling **/
|
||||
if (minimum > maximum || maximum > 10000) // < 32768 for urand call
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
GetPlayer()->DoRandomRoll(minimum, maximum);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue