Skip to content

Commit 1386d91

Browse files
authored
Skip debug instructions in TaintConfig initial seeds (#635)
1 parent 6ef25f4 commit 1386d91

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

lib/PhasarLLVM/TaintConfig/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ set(PHASAR_LINK_LIBS
55
phasar_db
66
phasar_llvm_db
77
phasar_llvm_utils
8+
phasar_controlflow
9+
phasar_llvm_controlflow
810
)
911

1012
set(LLVM_LINK_COMPONENTS

lib/PhasarLLVM/TaintConfig/LLVMTaintConfig.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#include "phasar/PhasarLLVM/TaintConfig/LLVMTaintConfig.h"
1111

12+
#include "phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h"
1213
#include "phasar/PhasarLLVM/DB/LLVMProjectIRDB.h"
1314
#include "phasar/PhasarLLVM/TaintConfig/TaintConfigBase.h"
1415
#include "phasar/PhasarLLVM/Utils/Annotation.h"
@@ -481,8 +482,10 @@ LLVMTaintConfig::makeInitialSeedsImpl() const {
481482
InitialSeeds[Inst].insert(Inst);
482483
} else if (const auto *Arg = llvm::dyn_cast<llvm::Argument>(SourceValue);
483484
Arg && !Arg->getParent()->isDeclaration()) {
484-
const auto *FunFirstInst = &Arg->getParent()->getEntryBlock().front();
485-
InitialSeeds[FunFirstInst].insert(Arg);
485+
LLVMBasedCFG C;
486+
for (const auto *SP : C.getStartPointsOf(Arg->getParent())) {
487+
InitialSeeds[SP].insert(Arg);
488+
}
486489
}
487490
}
488491
return InitialSeeds;

0 commit comments

Comments
 (0)