From d80372e0b42c8cb72564979c98e91f6329b13306 Mon Sep 17 00:00:00 2001 From: Camotoy <20743703+Camotoy@users.noreply.github.com> Date: Mon, 8 Mar 2021 18:17:14 -0500 Subject: [PATCH] Also check out-of-bounds on player inventory --- .../geysermc/connector/inventory/PlayerInventory.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/connector/src/main/java/org/geysermc/connector/inventory/PlayerInventory.java b/connector/src/main/java/org/geysermc/connector/inventory/PlayerInventory.java index 4b81853aa..76b2e5fbe 100644 --- a/connector/src/main/java/org/geysermc/connector/inventory/PlayerInventory.java +++ b/connector/src/main/java/org/geysermc/connector/inventory/PlayerInventory.java @@ -28,6 +28,7 @@ package org.geysermc.connector.inventory; import lombok.Getter; import lombok.NonNull; import lombok.Setter; +import org.geysermc.connector.GeyserConnector; import org.geysermc.connector.network.session.GeyserSession; public class PlayerInventory extends Inventory { @@ -55,10 +56,18 @@ public class PlayerInventory extends Inventory { } public GeyserItemStack getItemInHand() { + if (36 + heldItemSlot > this.size) { + GeyserConnector.getInstance().getLogger().debug("Held item slot was larger than expected!"); + return GeyserItemStack.EMPTY; + } return items[36 + heldItemSlot]; } public void setItemInHand(@NonNull GeyserItemStack item) { + if (36 + heldItemSlot > this.size) { + GeyserConnector.getInstance().getLogger().debug("Held item slot was larger than expected!"); + return; + } items[36 + heldItemSlot] = item; }