mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 07:20:24 +01:00
Validate slot in PlayerInventory#setSlot
The CraftPlayerInventory implementation sends a container_set_slot packet to the client which will error if an invalid slot is passed to the setSlot method, making a validation necessary over simply silently ignoring invalid slot values.
This commit is contained in:
parent
1cd7fd4eec
commit
883f50eb19
1 changed files with 5 additions and 0 deletions
|
@ -70,6 +70,11 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setItem(int index, ItemStack item) {
|
public void setItem(int index, ItemStack item) {
|
||||||
|
// Paper start - Validate setItem index
|
||||||
|
if (index < 0 || index > 40) {
|
||||||
|
throw new ArrayIndexOutOfBoundsException("Index must be between 0 and 40");
|
||||||
|
}
|
||||||
|
// Paper end - Validate setItem index
|
||||||
super.setItem(index, item);
|
super.setItem(index, item);
|
||||||
if (this.getHolder() == null) return;
|
if (this.getHolder() == null) return;
|
||||||
ServerPlayer player = ((CraftPlayer) this.getHolder()).getHandle();
|
ServerPlayer player = ((CraftPlayer) this.getHolder()).getHandle();
|
||||||
|
|
Loading…
Reference in a new issue