summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/CXCursor.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-12-10 02:36:25 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-12-10 02:36:25 +0000
commit173e911394923d72d143483fc8e922dcb4180456 (patch)
treeec0d6540caf515b654138b64220cfff852bc31d3 /clang/tools/libclang/CXCursor.cpp
parentc7f355b8e177393737e99a5a1259f90cdbfd3461 (diff)
downloadbcm5719-llvm-173e911394923d72d143483fc8e922dcb4180456.tar.gz
bcm5719-llvm-173e911394923d72d143483fc8e922dcb4180456.zip
[libclang] Add defensive checks to make sure we don't try to dereference
a null pointer after getCursorDecl() is called. rdar://10298421. llvm-svn: 146312
Diffstat (limited to 'clang/tools/libclang/CXCursor.cpp')
-rw-r--r--clang/tools/libclang/CXCursor.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp
index 5117a4d2b3e..1b8af395e22 100644
--- a/clang/tools/libclang/CXCursor.cpp
+++ b/clang/tools/libclang/CXCursor.cpp
@@ -1019,8 +1019,7 @@ CXCompletionString clang_getCursorCompletionString(CXCursor cursor) {
enum CXCursorKind kind = clang_getCursorKind(cursor);
if (clang_isDeclaration(kind)) {
Decl *decl = getCursorDecl(cursor);
- if (isa<NamedDecl>(decl)) {
- NamedDecl *namedDecl = (NamedDecl *)decl;
+ if (NamedDecl *namedDecl = dyn_cast_or_null<NamedDecl>(decl)) {
ASTUnit *unit = getCursorASTUnit(cursor);
if (unit->hasSema()) {
Sema &S = unit->getSema();
OpenPOWER on IntegriCloud