aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/CFG.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-04-30 22:25:53 +0000
committerTed Kremenek <kremenek@apple.com>2010-04-30 22:25:53 +0000
commitf42e3371079de333c3822a060c008bf6680677c8 (patch)
treed856c558d60e3bffb6df28ecfad1795598cd039d /lib/Analysis/CFG.cpp
parentf51f20fa34654da75d15a9e2a1a0cd2fc0d8603d (diff)
Add null check in CFGBuilder::VisitStmt() to make CFG construction
more resilient to bad code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102793 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/CFG.cpp')
-rw-r--r--lib/Analysis/CFG.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Analysis/CFG.cpp b/lib/Analysis/CFG.cpp
index 7c7504a1d8..7f71e0acf7 100644
--- a/lib/Analysis/CFG.cpp
+++ b/lib/Analysis/CFG.cpp
@@ -338,6 +338,10 @@ bool CFGBuilder::FinishBlock(CFGBlock* B) {
/// DeclStmts (which may contain nested control-flow).
CFGBlock* CFGBuilder::Visit(Stmt * S, AddStmtChoice asc) {
tryAgain:
+ if (!S) {
+ badCFG = true;
+ return 0;
+ }
switch (S->getStmtClass()) {
default:
return VisitStmt(S, asc);