From fa62c49fa812ab81166082c88a8a4475f054b280 Mon Sep 17 00:00:00 2001 From: Ethan Lafrenais Date: Wed, 29 Aug 2018 23:13:08 -0400 Subject: [PATCH 1/2] Add the Visual Studio Code workspace directory to .gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b534ce4..f8d0532 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,6 @@ Server/Server.iml Server/src/main/java/META-INF/MANIFEST.MF .settings .project -.classpath \ No newline at end of file +.classpath +# VSCode Workspace +.vscode/ \ No newline at end of file From 607423813146fbe97f5fd284ae537af2790e25be Mon Sep 17 00:00:00 2001 From: Ethan Lafrenais Date: Wed, 29 Aug 2018 23:15:06 -0400 Subject: [PATCH 2/2] Catch string unescape exceptions when parsing DW string operands --- .../java/net/simon987/server/assembly/Assembler.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Server/src/main/java/net/simon987/server/assembly/Assembler.java b/Server/src/main/java/net/simon987/server/assembly/Assembler.java index e11b655..922f0b9 100755 --- a/Server/src/main/java/net/simon987/server/assembly/Assembler.java +++ b/Server/src/main/java/net/simon987/server/assembly/Assembler.java @@ -156,7 +156,14 @@ public class Assembler { //Unescape the string String string = value.substring(1, value.length() - 1); - string = StringEscapeUtils.unescapeJava(string); + + try { + string = StringEscapeUtils.unescapeJava(string); + } catch (IllegalArgumentException e) { + throw new InvalidOperandException( + "Invalid string operand \"" + string + "\": " + e.getMessage(), + currentLine); + } out.write(string.getBytes(StandardCharsets.UTF_16BE)); } else if (labels != null && labels.containsKey(value)) {