From 28057705109b63373713ccadb1bb1178b2f61023 Mon Sep 17 00:00:00 2001 From: Away <60818070+Away-pp@users.noreply.github.com> Date: Sun, 14 Jan 2024 18:07:39 +0100 Subject: [PATCH] fix: removeUnreachable not searching in all blocks (PR #2082) Co-authored-by: Away-pp --- .../java/jadx/core/dex/visitors/blocks/BlockProcessor.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/blocks/BlockProcessor.java b/jadx-core/src/main/java/jadx/core/dex/visitors/blocks/BlockProcessor.java index 7c3d4d67a..add61695e 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/blocks/BlockProcessor.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/blocks/BlockProcessor.java @@ -644,14 +644,13 @@ public class BlockProcessor extends AbstractVisitor { } private static void removeUnreachableBlocks(MethodNode mth) { - Set toRemove = null; + Set toRemove = new LinkedHashSet<>(); for (BlockNode block : mth.getBasicBlocks()) { if (block.getPredecessors().isEmpty() && block != mth.getEnterBlock()) { - toRemove = new LinkedHashSet<>(); BlockSplitter.collectSuccessors(block, mth.getEnterBlock(), toRemove); } } - if (toRemove == null || toRemove.isEmpty()) { + if (toRemove.isEmpty()) { return; }