From 6802819ab3bd011c9e67519483ca42d38c71cfc2 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Mon, 5 Jan 2015 09:24:38 +1100 Subject: [PATCH] "Fix" SPIGOT-349 - don't allow + or ! in path. By: md_5 --- paper-server/src/main/java/org/bukkit/craftbukkit/Main.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/Main.java b/paper-server/src/main/java/org/bukkit/craftbukkit/Main.java index 9ffd89779..5f1eedb8a 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/Main.java @@ -134,6 +134,12 @@ public class Main { } else if (options.has("v")) { System.out.println(CraftServer.class.getPackage().getImplementationVersion()); } else { + // Do you love Java using + and ! as string based identifiers? I sure do! + String path = new File(".").getAbsolutePath(); + if (path.contains("!") || path.contains("+")) { + System.err.println("Cannot run server in a directory with ! or + in the pathname. Please rename the affected folders and try again,"); + } + try { // This trick bypasses Maven Shade's clever rewriting of our getProperty call when using String literals String jline_UnsupportedTerminal = new String(new char[] {'j','l','i','n','e','.','U','n','s','u','p','p','o','r','t','e','d','T','e','r','m','i','n','a','l'});