diff --git a/src/main/java/info/sigterm/deob/attributes/code/Instructions.java b/src/main/java/info/sigterm/deob/attributes/code/Instructions.java index ba7ad5f849..63d5103fcd 100644 --- a/src/main/java/info/sigterm/deob/attributes/code/Instructions.java +++ b/src/main/java/info/sigterm/deob/attributes/code/Instructions.java @@ -106,7 +106,6 @@ public class Instructions { if (current == null || !i.from.isEmpty()) { - // this caused exception errors? if (current != null) { current.end = current.instructions.get(current.instructions.size() - 1); diff --git a/src/main/java/info/sigterm/deob/deobfuscators/Jumps.java b/src/main/java/info/sigterm/deob/deobfuscators/Jumps.java index 5a31b5af99..1c946ab1c4 100644 --- a/src/main/java/info/sigterm/deob/deobfuscators/Jumps.java +++ b/src/main/java/info/sigterm/deob/deobfuscators/Jumps.java @@ -34,7 +34,7 @@ public class Jumps Block block = blocks.get(i); Block prev = i > 0 ? blocks.get(i - 1) : null; - if (block.begin.from.size() == 1 && prev != null && prev.end.isTerminal()) + if (block.begin.from.size() == 1 && block.end.isTerminal() && prev != null && prev.end.isTerminal()) { // not sure if this is right, just don't mess with blocks in exception ranges or directly handling them if (block.exceptions.isEmpty() == false || block.handlers.isEmpty() == false || prev.exceptions.isEmpty() == false || prev.handlers.isEmpty() == false)