Skip to content

Commit 5c0c666

Browse files
committed
Fixed bug: cross chain edges are built using events exit points and functions entry points
Additionally, a CONSERVATIVE_LINK option has been added. If it is checked and there is no match between the event exit point and the function entry point, a conservative link is performed by connecting the corresponding LOG opcode with all the entry points of the bridge functions
1 parent ac0788c commit 5c0c666

File tree

8 files changed

+453
-224
lines changed

8 files changed

+453
-224
lines changed

src/main/java/it/unipr/cfg/EVMCFG.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ public Set<Statement> getAllLogX() {
9292
Set<Statement> logxs = new HashSet<>();
9393

9494
for (Statement statement : cfgNodeList.getNodes()) {
95-
if (statement instanceof Log) {
95+
if (statement instanceof Log1 || statement instanceof Log2 || statement instanceof Log3
96+
|| statement instanceof Log4) {
9697
logxs.add(statement);
9798
}
9899
}

src/main/java/it/unipr/checker/CallDataLoadChecker.java

Lines changed: 0 additions & 98 deletions
This file was deleted.

0 commit comments

Comments
 (0)