disassembler: escape string operands
This commit is contained in:
@@ -24,6 +24,8 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.cache.script.disassembler;
|
package net.runelite.cache.script.disassembler;
|
||||||
|
|
||||||
|
import com.google.common.escape.Escaper;
|
||||||
|
import com.google.common.escape.Escapers;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
@@ -37,6 +39,10 @@ import org.slf4j.LoggerFactory;
|
|||||||
public class Disassembler
|
public class Disassembler
|
||||||
{
|
{
|
||||||
private static final Logger logger = LoggerFactory.getLogger(Disassembler.class);
|
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();
|
private final Instructions instructions = new Instructions();
|
||||||
|
|
||||||
@@ -165,7 +171,7 @@ public class Disassembler
|
|||||||
|
|
||||||
if (sop != null)
|
if (sop != null)
|
||||||
{
|
{
|
||||||
writer.append(" \"").append(sop).append("\"");
|
writer.append(" \"").append(ESCAPER.escape(sop)).append("\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opcode == Opcodes.SWITCH)
|
if (opcode == Opcodes.SWITCH)
|
||||||
|
|||||||
Reference in New Issue
Block a user