aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0297-fix-empty-array-elements-in-command-arguments.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0297-fix-empty-array-elements-in-command-arguments.patch')
-rw-r--r--patches/api/0297-fix-empty-array-elements-in-command-arguments.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/patches/api/0297-fix-empty-array-elements-in-command-arguments.patch b/patches/api/0297-fix-empty-array-elements-in-command-arguments.patch
new file mode 100644
index 0000000000..4b66990211
--- /dev/null
+++ b/patches/api/0297-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;