diff options
author | Ted Kremenek <kremenek@apple.com> | 2011-04-29 21:35:23 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2011-04-29 21:35:23 +0000 |
commit | 491da68ef9feec71a75feab4b4f092680309f300 (patch) | |
tree | 5a2b4509eb3112665b5cafb11cf6d74661a51eeb /clang/tools/libclang/CIndexUSRs.cpp | |
parent | dd937843d3237ae9f09a7ffe77e81433bbb7788f (diff) | |
download | bcm5719-llvm-491da68ef9feec71a75feab4b4f092680309f300.tar.gz bcm5719-llvm-491da68ef9feec71a75feab4b4f092680309f300.zip |
Guard in USRGenerator::GenLoc() against null Decl* from invalid code.
llvm-svn: 130541
Diffstat (limited to 'clang/tools/libclang/CIndexUSRs.cpp')
-rw-r--r-- | clang/tools/libclang/CIndexUSRs.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/tools/libclang/CIndexUSRs.cpp b/clang/tools/libclang/CIndexUSRs.cpp index 68871e94951..9917d2ad210 100644 --- a/clang/tools/libclang/CIndexUSRs.cpp +++ b/clang/tools/libclang/CIndexUSRs.cpp @@ -470,6 +470,12 @@ bool USRGenerator::GenLoc(const Decl *D) { if (generatedLoc) return IgnoreResults; generatedLoc = true; + + // Guard against null declarations in invalid code. + if (!D) { + IgnoreResults = true; + return true; + } const SourceManager &SM = AU->getSourceManager(); SourceLocation L = D->getLocStart(); |