Fix crasher in CFRefCount.cpp reported by Nikita Zhuk due to recently added autorelease tracking.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71647 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp
index fc6de60..c31a8cd 100644
--- a/lib/Analysis/CFRefCount.cpp
+++ b/lib/Analysis/CFRefCount.cpp
@@ -2154,6 +2154,9 @@
const ExplodedNode<GRState>* PrevN,
BugReporterContext& BRC) {
+ if (!isa<PostStmt>(N->getLocation()))
+ return NULL;
+
// Check if the type state has changed.
GRStateManager &StMgr = BRC.getStateManager();
GRStateRef PrevSt(PrevN->getState(), StMgr);
@@ -2373,8 +2376,8 @@
if (os.str().empty())
return 0; // We have nothing to say!
-
- Stmt* S = cast<PostStmt>(N->getLocation()).getStmt();
+
+ Stmt* S = cast<PostStmt>(N->getLocation()).getStmt();
PathDiagnosticLocation Pos(S, BRC.getSourceManager());
PathDiagnosticPiece* P = new PathDiagnosticEventPiece(Pos, os.str());