diff options
Diffstat (limited to 'patches/api/0300-fix-empty-array-elements-in-command-arguments.patch')
-rw-r--r-- | patches/api/0300-fix-empty-array-elements-in-command-arguments.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/patches/api/0300-fix-empty-array-elements-in-command-arguments.patch b/patches/api/0300-fix-empty-array-elements-in-command-arguments.patch new file mode 100644 index 0000000000..4b66990211 --- /dev/null +++ b/patches/api/0300-fix-empty-array-elements-in-command-arguments.patch @@ -0,0 +1,23 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Trigary <[email protected]> +Date: Sat, 5 Jun 2021 10:29:39 +0200 +Subject: [PATCH] fix empty array elements in command arguments + +Adjacent spaces caused empty array elements due to how String#split works. +This change removes those empty array elements without modifying anything else. +Adjacent spaces sent by players are removed in PlayerConnection, so this change doesn't affect players. +But it does affect the console, command blocks, Bukkit.dispatchCommand, etc. + +diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java +index 1424060c0a162020d4a680e0a592224561067b16..ac9a28922f8a556944a4c3649d74c32c622f0cb0 100644 +--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java ++++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java +@@ -130,7 +130,7 @@ public class SimpleCommandMap implements CommandMap { + */ + @Override + public boolean dispatch(@NotNull CommandSender sender, @NotNull String commandLine) throws CommandException { +- String[] args = commandLine.split(" "); ++ String[] args = org.apache.commons.lang3.StringUtils.split(commandLine, ' '); // Paper - fix adjacent spaces (from console/plugins) causing empty array elements + + if (args.length == 0) { + return false; |