Index: test/Analysis/malloc-overflow-crash.cpp
===================================================================
--- test/Analysis/malloc-overflow-crash.cpp	(revision 0)
+++ test/Analysis/malloc-overflow-crash.cpp	(revision 0)
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -triple x86_64-apple-macosx10.7.0 -analyze -analyzer-checker=experimental.security.MallocOverflow -verify %s
+
+class A {
+public:
+  A& operator<<(const A &a);
+};
+  
+void f()
+{
+  A a = A(), b = A();
+  a << b;
+}
Index: lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp
===================================================================
--- lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp	(revision 140598)
+++ lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp	(working copy)
@@ -245,6 +245,9 @@
           // Get the name of the callee. If it's a builtin, strip off the prefix.
           IdentifierInfo *FnInfo = FD->getIdentifier();
 
+          if (!FnInfo)
+            return;
+
           if (FnInfo->isStr ("malloc") || FnInfo->isStr ("_MALLOC")) {
             if (TheCall->getNumArgs() == 1)
               CheckMallocArgument(PossibleMallocOverflows, TheCall->getArg(0),
