diff --git a/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.cpp b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.cpp index 1b54e5b162..5a525093f3 100644 --- a/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.cpp +++ b/lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IFDSTaintAnalysis.cpp @@ -416,12 +416,14 @@ auto IFDSTaintAnalysis::getSummaryFlowFunction([[maybe_unused]] n_t CallSite, llvm::zip(CS->args(), DestFun->args())) { if (Source == Arg.get()) { auto VecFacts = DestFunFacts.find(DestParam.getArgNo()); - for (const auto &VecFact : VecFacts->second) { - if (const auto *Param = - std::get_if(&VecFact.Fact)) { - Facts.insert(CS->getArgOperand(Param->Index)); - } else { - Facts.insert(CallSite); + if (VecFacts != DestFunFacts.end()) { + for (const auto &VecFact : VecFacts->second) { + if (const auto *Param = std::get_if( + &VecFact.Fact)) { + Facts.insert(CS->getArgOperand(Param->Index)); + } else { + Facts.insert(CallSite); + } } } }