RequestBuyItem exploit prevention.
Contributed by G-hamsteR.
This commit is contained in:
parent
b3ad481d97
commit
2723644d8c
@ -67,15 +67,26 @@ public class RequestBuyItem extends GameClientPacket
|
|||||||
for (int i = 0; i < _count; i++)
|
for (int i = 0; i < _count; i++)
|
||||||
{
|
{
|
||||||
final int itemId = readD();
|
final int itemId = readD();
|
||||||
_items[(i * 2) + 0] = itemId;
|
if (itemId < 1)
|
||||||
final long cnt = readD();
|
|
||||||
if ((cnt > Integer.MAX_VALUE) || (cnt < 0))
|
|
||||||
{
|
{
|
||||||
_count = 0;
|
_count = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
_items[(i * 2) + 0] = itemId;
|
||||||
|
|
||||||
_items[(i * 2) + 1] = (int) cnt;
|
final int count = readD();
|
||||||
|
if ((count > Integer.MAX_VALUE) || (count < 1))
|
||||||
|
{
|
||||||
|
_count = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (count > 10000) // Count check.
|
||||||
|
{
|
||||||
|
getClient().getPlayer().sendMessage("You cannot buy more than 10.000 items.");
|
||||||
|
_count = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_items[(i * 2) + 1] = count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,15 +67,26 @@ public class RequestBuyItem extends GameClientPacket
|
|||||||
for (int i = 0; i < _count; i++)
|
for (int i = 0; i < _count; i++)
|
||||||
{
|
{
|
||||||
final int itemId = readD();
|
final int itemId = readD();
|
||||||
_items[(i * 2) + 0] = itemId;
|
if (itemId < 1)
|
||||||
final long cnt = readD();
|
|
||||||
if ((cnt > Integer.MAX_VALUE) || (cnt < 0))
|
|
||||||
{
|
{
|
||||||
_count = 0;
|
_count = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
_items[(i * 2) + 0] = itemId;
|
||||||
|
|
||||||
_items[(i * 2) + 1] = (int) cnt;
|
final int count = readD();
|
||||||
|
if ((count > Integer.MAX_VALUE) || (count < 1))
|
||||||
|
{
|
||||||
|
_count = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (count > 10000) // Count check.
|
||||||
|
{
|
||||||
|
getClient().getPlayer().sendMessage("You cannot buy more than 10.000 items.");
|
||||||
|
_count = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_items[(i * 2) + 1] = count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user