summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWesley Wolfe <weswolf@aol.com>2013-08-06 17:11:30 -0500
committerWesley Wolfe <weswolf@aol.com>2013-08-06 17:11:30 -0500
commit066fcfe79fe4fbb5f4540be1472f8853f957d926 (patch)
tree91676951663dad51b5485b2183aafaaefca0dde2
parent5e8dd7d57d0615645782d6e1f190e1d9b83e982c (diff)
downloadcraftbukkit-066fcfe79fe4fbb5f4540be1472f8853f957d926.tar
craftbukkit-066fcfe79fe4fbb5f4540be1472f8853f957d926.tar.gz
craftbukkit-066fcfe79fe4fbb5f4540be1472f8853f957d926.tar.lz
craftbukkit-066fcfe79fe4fbb5f4540be1472f8853f957d926.tar.xz
craftbukkit-066fcfe79fe4fbb5f4540be1472f8853f957d926.zip
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.
-rw-r--r--src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java
index efb28969..f5ad535c 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java
+++ b/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<HumanEntity>();