Skip to content

Commit 96f0758

Browse files
authored
Fix IFDSTaintLibSummary SeqFault if find doesn't find anything (#737)
* fix * fixed formatting
1 parent bb86c25 commit 96f0758

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -416,12 +416,14 @@ auto IFDSTaintAnalysis::getSummaryFlowFunction([[maybe_unused]] n_t CallSite,
416416
llvm::zip(CS->args(), DestFun->args())) {
417417
if (Source == Arg.get()) {
418418
auto VecFacts = DestFunFacts.find(DestParam.getArgNo());
419-
for (const auto &VecFact : VecFacts->second) {
420-
if (const auto *Param =
421-
std::get_if<library_summary::Parameter>(&VecFact.Fact)) {
422-
Facts.insert(CS->getArgOperand(Param->Index));
423-
} else {
424-
Facts.insert(CallSite);
419+
if (VecFacts != DestFunFacts.end()) {
420+
for (const auto &VecFact : VecFacts->second) {
421+
if (const auto *Param = std::get_if<library_summary::Parameter>(
422+
&VecFact.Fact)) {
423+
Facts.insert(CS->getArgOperand(Param->Index));
424+
} else {
425+
Facts.insert(CallSite);
426+
}
425427
}
426428
}
427429
}

0 commit comments

Comments
 (0)