From cae08d4c46da4b6895c56658a68b0cdb1f983b21 Mon Sep 17 00:00:00 2001 From: Marc Miltenberger Date: Tue, 8 Oct 2024 18:29:50 +0200 Subject: [PATCH 1/6] Display more information in case a dexlib label was not placed --- src/main/java/soot/toDex/DexPrinter.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/soot/toDex/DexPrinter.java b/src/main/java/soot/toDex/DexPrinter.java index 95a4ac7e0c7..ff31741d21c 100644 --- a/src/main/java/soot/toDex/DexPrinter.java +++ b/src/main/java/soot/toDex/DexPrinter.java @@ -44,6 +44,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import java.util.jar.Attributes; import java.util.jar.JarFile; @@ -1282,9 +1283,9 @@ protected MethodImplementation toMethodImplementation(SootMethod m) { toTries(activeBody.getTraps(), builder, labelAssigner); // Make sure that all labels have been placed by now - for (Label lbl : labelAssigner.getAllLabels()) { - if (!lbl.isPlaced()) { - throw new DexPrinterException("Label not placed: " + lbl); + for (Entry lbl : labelAssigner.getAllStmtsToLabels()) { + if (!lbl.getValue().isPlaced()) { + throw new DexPrinterException("Label not placed for statement " + lbl.getKey()); } } From 050d64624998600b796e8f3fa56d0183d5bf8dfe Mon Sep 17 00:00:00 2001 From: Marc Miltenberger Date: Tue, 8 Oct 2024 18:30:17 +0200 Subject: [PATCH 2/6] Missing file --- src/main/java/soot/toDex/LabelAssigner.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/soot/toDex/LabelAssigner.java b/src/main/java/soot/toDex/LabelAssigner.java index ce2aeee559c..77555467908 100644 --- a/src/main/java/soot/toDex/LabelAssigner.java +++ b/src/main/java/soot/toDex/LabelAssigner.java @@ -25,6 +25,8 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; import org.jf.dexlib2.builder.Label; import org.jf.dexlib2.builder.MethodImplementationBuilder; @@ -120,4 +122,8 @@ public Collection