disassembler: escape string operands

This commit is contained in:
Adam
2020-09-18 22:18:27 -04:00
parent f7606c7aca
commit 8718a83f10

View File

@@ -24,6 +24,8 @@
*/
package net.runelite.cache.script.disassembler;
import com.google.common.escape.Escaper;
import com.google.common.escape.Escapers;
import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;
@@ -37,6 +39,10 @@ import org.slf4j.LoggerFactory;
public class Disassembler
{
private static final Logger logger = LoggerFactory.getLogger(Disassembler.class);
private static final Escaper ESCAPER = Escapers.builder()
.addEscape('"', "\\\"")
.addEscape('\\', "\\\\")
.build();
private final Instructions instructions = new Instructions();
@@ -165,7 +171,7 @@ public class Disassembler
if (sop != null)
{
writer.append(" \"").append(sop).append("\"");
writer.append(" \"").append(ESCAPER.escape(sop)).append("\"");
}
if (opcode == Opcodes.SWITCH)