From 7cc6cb5013d5680b359df6f092dc0e2f77462b4b Mon Sep 17 00:00:00 2001 From: TonytheMacaroni Date: Fri, 21 Mar 2025 12:51:09 -0400 Subject: [PATCH] Check for trailing input in ItemFactory#createItemStack (#12312) --- .../org/bukkit/craftbukkit/inventory/CraftItemFactory.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java index 10edd98d1..610318c8f 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -153,7 +153,9 @@ public final class CraftItemFactory implements ItemFactory { @Override public ItemStack createItemStack(String input) throws IllegalArgumentException { try { - ItemParser.ItemResult arg = new ItemParser(MinecraftServer.getDefaultRegistryAccess()).parse(new StringReader(input)); + StringReader reader = new StringReader(input); + ItemParser.ItemResult arg = new ItemParser(MinecraftServer.getDefaultRegistryAccess()).parse(reader); + Preconditions.checkArgument(!reader.canRead(), "Trailing input found when parsing ItemStack: %s", input); Item item = arg.item().value(); net.minecraft.world.item.ItemStack nmsItemStack = new net.minecraft.world.item.ItemStack(item);