DOn't crash if program calls the null pointer
authorChris Lattner <sabre@nondot.org>
Wed, 24 Sep 2003 23:42:58 +0000 (23:42 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 24 Sep 2003 23:42:58 +0000 (23:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8708 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/DataStructure/Local.cpp

index dbf182d98c19c592cde270d0dde08cdd3a851c55..64e6088e7c6922c764558e015f44c9097153997b 100644 (file)
@@ -443,8 +443,14 @@ void GraphBuilder::visitCallSite(CallSite CS) {
     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());