summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorfeildmaster <admin@feildmaster.com>2013-03-16 17:17:09 -0500
committerfeildmaster <admin@feildmaster.com>2013-03-16 17:27:42 -0500
commit823c6c0ec6db2a86e049adc04d5479afd379b302 (patch)
tree59cbc002295d629d343396f65fb1afa0148c5175 /src
parent7dcf22262abef77aef9d6ad253be1c5e2c9712a4 (diff)
downloadbukkit-823c6c0ec6db2a86e049adc04d5479afd379b302.tar
bukkit-823c6c0ec6db2a86e049adc04d5479afd379b302.tar.gz
bukkit-823c6c0ec6db2a86e049adc04d5479afd379b302.tar.lz
bukkit-823c6c0ec6db2a86e049adc04d5479afd379b302.tar.xz
bukkit-823c6c0ec6db2a86e049adc04d5479afd379b302.zip
Validate method parameters when registering events. Fixes BUKKIT-3779
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
index 10fc26ae..ea30d83d 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -380,8 +380,8 @@ public class JavaPluginLoader implements PluginLoader {
for (final Method method : methods) {
final EventHandler eh = method.getAnnotation(EventHandler.class);
if (eh == null) continue;
- final Class<?> checkClass = method.getParameterTypes()[0];
- if (!Event.class.isAssignableFrom(checkClass) || method.getParameterTypes().length != 1) {
+ final Class<?> checkClass;
+ if (method.getParameterTypes().length != 1 || !Event.class.isAssignableFrom(checkClass = method.getParameterTypes()[0])) {
plugin.getLogger().severe(plugin.getDescription().getFullName() + " attempted to register an invalid EventHandler method signature \"" + method.toGenericString() + "\" in " + listener.getClass());
continue;
}