From baa030c201f558c274d74dc1511f2c982b87ae74 Mon Sep 17 00:00:00 2001 From: "jesusfreke@jesusfreke.com" Date: Fri, 3 Jun 2011 01:40:23 +0000 Subject: [PATCH] Correctly escape any special characters in the value of the .source directive git-svn-id: https://smali.googlecode.com/svn/trunk@811 55b6fa8a-2a1e-11de-a435-ffa8d773f76a --- .../main/java/org/jf/baksmali/Adaptors/ClassDefinition.java | 3 ++- .../main/java/org/jf/baksmali/Adaptors/DebugMethodItem.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java index 8988a356..3a67d515 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java @@ -28,6 +28,7 @@ package org.jf.baksmali.Adaptors; +import org.jf.dexlib.Util.Utf8Utils; import org.jf.util.IndentingWriter; import org.jf.dexlib.*; import org.jf.dexlib.Code.Analysis.ValidationException; @@ -164,7 +165,7 @@ public class ClassDefinition { StringIdItem sourceFile = classDefItem.getSourceFile(); if (sourceFile != null) { writer.write(".source \""); - writer.write(sourceFile.getStringValue()); + Utf8Utils.writeEscapedString(writer, sourceFile.getStringValue()); writer.write("\"\n"); } } diff --git a/baksmali/src/main/java/org/jf/baksmali/Adaptors/DebugMethodItem.java b/baksmali/src/main/java/org/jf/baksmali/Adaptors/DebugMethodItem.java index 1b3fa20a..ced19dbd 100644 --- a/baksmali/src/main/java/org/jf/baksmali/Adaptors/DebugMethodItem.java +++ b/baksmali/src/main/java/org/jf/baksmali/Adaptors/DebugMethodItem.java @@ -28,6 +28,7 @@ package org.jf.baksmali.Adaptors; +import org.jf.dexlib.Util.Utf8Utils; import org.jf.util.IndentingWriter; import org.jf.dexlib.CodeItem; import org.jf.dexlib.StringIdItem; @@ -116,7 +117,7 @@ public abstract class DebugMethodItem extends MethodItem { protected static void writeSetFile(IndentingWriter writer, String fileName) throws IOException { writer.write(".source \""); - writer.write(fileName); + Utf8Utils.writeEscapedString(writer, fileName); writer.write('"'); } }