[llvm-commits] CVS: llvm/lib/Analysis/DataStructure/Local.cpp

Chris Lattner lattner at cs.uiuc.edu
Wed Sep 24 18:44:01 PDT 2003


Changes in directory llvm/lib/Analysis/DataStructure:

Local.cpp updated: 1.64 -> 1.65

---
Log message:

DOn't crash if program calls the null pointer


---
Diffs of the changes:

Index: llvm/lib/Analysis/DataStructure/Local.cpp
diff -u llvm/lib/Analysis/DataStructure/Local.cpp:1.64 llvm/lib/Analysis/DataStructure/Local.cpp:1.65
--- llvm/lib/Analysis/DataStructure/Local.cpp:1.64	Sat Sep 20 16:48:16 2003
+++ llvm/lib/Analysis/DataStructure/Local.cpp	Wed Sep 24 18:42:58 2003
@@ -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());





More information about the llvm-commits mailing list