From d6c6220bdd1781a2cf5bfd3de629d42bc358a634 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Sun, 10 Apr 2022 13:48:47 +0200 Subject: [PATCH] Fix invalid characters in replay name on Windows (fixes #715) --- src/main/java/com/replaymod/core/utils/Utils.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/replaymod/core/utils/Utils.java b/src/main/java/com/replaymod/core/utils/Utils.java index 688edc7c..39634262 100644 --- a/src/main/java/com/replaymod/core/utils/Utils.java +++ b/src/main/java/com/replaymod/core/utils/Utils.java @@ -59,6 +59,7 @@ import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.nio.file.Files; +import java.nio.file.InvalidPathException; import java.nio.file.Path; import java.nio.file.StandardOpenOption; import java.nio.file.attribute.FileAttribute; @@ -185,7 +186,12 @@ public class Utils { * Checks whether a given file name is actually usable with the file system / operating system at the given folder. */ private static boolean isUsable(Path folder, String fileName) { - Path path = folder.resolve(fileName); + Path path; + try { + path = folder.resolve(fileName); + } catch (InvalidPathException e) { + return false; // file name contains invalid characters, definitely not usable + } if (Files.exists(path)) { return true; // if it already exits, it's definitely usable }