diff --git a/jadx-core/src/main/java/jadx/core/dex/visitors/regions/RegionMaker.java b/jadx-core/src/main/java/jadx/core/dex/visitors/regions/RegionMaker.java index 780b1f8c7..832b8123a 100644 --- a/jadx-core/src/main/java/jadx/core/dex/visitors/regions/RegionMaker.java +++ b/jadx-core/src/main/java/jadx/core/dex/visitors/regions/RegionMaker.java @@ -865,10 +865,12 @@ public class RegionMaker { // slow search: calculate partial post-dominance for every exit node BitSet ipdoms = BlockUtils.newBlocksBitSet(mth); for (BlockNode exitBlock : exits) { - Set pathBlocks = BlockUtils.getAllPathsBlocks(block, exitBlock); - BlockNode ipdom = BlockUtils.calcPartialImmediatePostDominator(mth, block, pathBlocks, exitBlock); - if (ipdom != null) { - ipdoms.set(ipdom.getId()); + if (BlockUtils.isAnyPathExists(block, exitBlock)) { + Set pathBlocks = BlockUtils.getAllPathsBlocks(block, exitBlock); + BlockNode ipdom = BlockUtils.calcPartialImmediatePostDominator(mth, block, pathBlocks, exitBlock); + if (ipdom != null) { + ipdoms.set(ipdom.getId()); + } } } outs.and(ipdoms);