From 33c74455820d703e1fd5f3fb2407d4dcaafec0c7 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Tue, 6 Aug 2013 17:11:30 -0500 Subject: [PATCH] Validate title for custom inventories. Fixes BUKKIT-4616, BUKKIT-4663 Custom inventories currently do not validate the titles provided. Null values cause NPEs when writing packets. Values longer than 32 characters disconnect clients. This change throws and IllegalArgumentException for null titles or titles longer than 32 characters. By: Wesley Wolfe --- .../org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java index efb289693..f5ad535c5 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java @@ -3,6 +3,7 @@ package org.bukkit.craftbukkit.inventory; import java.util.ArrayList; import java.util.List; +import org.apache.commons.lang.Validate; import org.bukkit.craftbukkit.entity.CraftHumanEntity; import org.bukkit.entity.HumanEntity; import org.bukkit.event.inventory.InventoryType; @@ -43,6 +44,8 @@ public class CraftInventoryCustom extends CraftInventory { } public MinecraftInventory(InventoryHolder owner, int size, String title) { + Validate.notNull(title, "Title cannot be null"); + Validate.isTrue(title.length() <= 32, "Title cannot be longer than 32 characters"); this.items = new ItemStack[size]; this.title = title; this.viewers = new ArrayList();