From: Matt Beaumont-Gay <matthewbg@google.com>
Date: Wed, 14 Mar 2012 20:21:25 +0000 (+0000)
Subject: Fix dereference of end iterator. Spotted by ASan.
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d53e877ddf885da28aa4668148a5f0ce0045ab54;p=clang

Fix dereference of end iterator. Spotted by ASan.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152738 91177308-0d34-0410-b5e6-96231b3b80d8
---

diff --git a/lib/Analysis/CallGraph.cpp b/lib/Analysis/CallGraph.cpp
index 1e9aec23dd..eb3f3ef97a 100644
--- a/lib/Analysis/CallGraph.cpp
+++ b/lib/Analysis/CallGraph.cpp
@@ -133,7 +133,9 @@ void CallGraph::addToCallGraph(TranslationUnitDecl *TU) {
 }
 
 CallGraphNode *CallGraph::getNode(const Decl *F) const {
-  return FunctionMap.find(F)->second;
+  FunctionMapTy::const_iterator I = FunctionMap.find(F);
+  if (I == FunctionMap.end()) return 0;
+  return I->second;
 }
 
 CallGraphNode *CallGraph::getOrInsertFunction(Decl *F) {