Skip to content

Commit 228b753

Browse files
authored
Merge pull request #855 from MarcMil/fix-static
Fix backwards analyses for cases where the first statement is a method call
2 parents 5ada120 + 0329ebe commit 228b753

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

soot-infoflow/src/soot/jimple/infoflow/solver/fastSolver/IFDSSolver.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -744,13 +744,14 @@ public void runInternal() {
744744
if (icfg.isCallStmt(target)) {
745745
processCall(edge);
746746
} else {
747-
// note that some statements, such as "throw" may be
748-
// both an exit statement and a "normal" statement
749-
if (icfg.isExitStmt(target))
750-
processExit(edge);
751747
if (!icfg.getSuccsOf(target).isEmpty())
752748
processNormalFlow(edge);
753749
}
750+
// note that some statements, such as "throw" may be
751+
// both an exit statement and a "normal" statement
752+
// A call statement can be an exit statement when going backwards!
753+
if (icfg.isExitStmt(target))
754+
processExit(edge);
754755
}
755756

756757
@Override

0 commit comments

Comments
 (0)