DOn't crash if program calls the null pointer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8708 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/DataStructure/Local.cpp b/lib/Analysis/DataStructure/Local.cpp
index dbf182d..64e6088 100644
--- a/lib/Analysis/DataStructure/Local.cpp
+++ b/lib/Analysis/DataStructure/Local.cpp
@@ -443,8 +443,14 @@
RetVal = getValueDest(*I);
DSNode *Callee = 0;
- if (DisableDirectCallOpt || !isa<Function>(CS.getCalledValue()))
+ if (DisableDirectCallOpt || !isa<Function>(CS.getCalledValue())) {
Callee = getValueDest(*CS.getCalledValue()).getNode();
+ if (Callee == 0) {
+ std::cerr << "WARNING: Program is calling through a null pointer?\n"
+ << *I;
+ return; // Calling a null pointer?
+ }
+ }
std::vector<DSNodeHandle> Args;
Args.reserve(CS.arg_end()-CS.arg_begin());