summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorWolfieMario <wolfiemario@hotmail.com>2014-03-22 13:48:04 -0600
committerNate Mortensen <nate.richard.mortensen@gmail.com>2014-03-22 13:55:20 -0600
commit4873b12890e7af0c7137c3cb25853d6e20361cd4 (patch)
tree0a52d669c61d1123178b3514ca2bafc2141eed12 /src/main
parent385ace970ee7b7912419d601b8a0867c4c2794df (diff)
downloadcraftbukkit-4873b12890e7af0c7137c3cb25853d6e20361cd4.tar
craftbukkit-4873b12890e7af0c7137c3cb25853d6e20361cd4.tar.gz
craftbukkit-4873b12890e7af0c7137c3cb25853d6e20361cd4.tar.lz
craftbukkit-4873b12890e7af0c7137c3cb25853d6e20361cd4.tar.xz
craftbukkit-4873b12890e7af0c7137c3cb25853d6e20361cd4.zip
Increment loop index whether or not command succeeded. Fixes BUKKIT-5455
When VanillaCommandWrapper dispatches a command containing a PlayerSelector wtih c>-1 (implicitly true for @a), it loops over the selected players and exectures the command with each player. However, the loop index is only incremented if the command fails. As a result, a successful command is repeated on the same player indefinitely, locking up the server. This commit fixes the issue by incrementing the loop index regardless of whether the command succeeds, ensuring the command is only executed once per player identified by the PlayerSelector.
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
index f63300fc..76fea00d 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
@@ -101,7 +101,7 @@ public final class VanillaCommandWrapper extends VanillaCommand {
String s2 = as[i];
EntityPlayer aentityplayer1[] = aentityplayer;
int k = aentityplayer1.length;
- for (int l = 0; l < k;) {
+ for (int l = 0; l < k;l++) {
EntityPlayer entityplayer = aentityplayer1[l];
as[i] = entityplayer.getName();
try {
@@ -112,7 +112,6 @@ public final class VanillaCommandWrapper extends VanillaCommand {
ChatMessage chatmessage4 = new ChatMessage(commandexception1.getMessage(), commandexception1.a());
chatmessage4.getChatModifier().setColor(EnumChatFormat.RED);
icommandlistener.sendMessage(chatmessage4);
- l++;
}
}