From 121764ab619abd12abdb725c3379cd2e37f7988f Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Thu, 4 Apr 2013 17:00:26 -0700 Subject: [PATCH] Check null before grabbing metadata owning plugin. Fixes BUKKIT-4665 MetadataStoreBase throws a NullPointerException when passed a null value for setMetaData. The intended behavior is to throw an IllegalArgumentException. This commit changes the value's null check to occur before referencing the owning plugin of a value. By: AlphaBlend --- .../src/main/java/org/bukkit/metadata/MetadataStoreBase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper-api/src/main/java/org/bukkit/metadata/MetadataStoreBase.java b/paper-api/src/main/java/org/bukkit/metadata/MetadataStoreBase.java index f46e1ec906..28f35fd15e 100644 --- a/paper-api/src/main/java/org/bukkit/metadata/MetadataStoreBase.java +++ b/paper-api/src/main/java/org/bukkit/metadata/MetadataStoreBase.java @@ -25,8 +25,8 @@ public abstract class MetadataStoreBase { * @throws IllegalArgumentException If value is null, or the owning plugin is null */ public synchronized void setMetadata(T subject, String metadataKey, MetadataValue newMetadataValue) { - Plugin owningPlugin = newMetadataValue.getOwningPlugin(); Validate.notNull(newMetadataValue, "Value cannot be null"); + Plugin owningPlugin = newMetadataValue.getOwningPlugin(); Validate.notNull(owningPlugin, "Plugin cannot be null"); String key = disambiguate(subject, metadataKey); Map entry = metadataMap.get(key);