diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-04-30 22:25:53 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-04-30 22:25:53 +0000 |
commit | f42e3371079de333c3822a060c008bf6680677c8 (patch) | |
tree | d856c558d60e3bffb6df28ecfad1795598cd039d /lib/Analysis/CFG.cpp | |
parent | f51f20fa34654da75d15a9e2a1a0cd2fc0d8603d (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.cpp | 4 |
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); |