13
0
geforkt von Mirrors/Paper

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.
Dieser Commit ist enthalten in:
strnq 2024-09-14 12:53:13 +03:00
Ursprung 1cd7fd4eec
Commit 883f50eb19

Datei anzeigen

@ -70,6 +70,11 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
@Override
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);
if (this.getHolder() == null) return;
ServerPlayer player = ((CraftPlayer) this.getHolder()).getHandle();