commit | e3b1d962185c72fddaf634dcd80d468c01c96e6d | [log] [tgz] |
---|---|---|
author | George Karpenkov <ekarpenkov@apple.com> | Mon Aug 13 23:32:15 2018 +0000 |
committer | George Karpenkov <ekarpenkov@apple.com> | Mon Aug 13 23:32:15 2018 +0000 |
tree | aaecf7f217bec319000ba751ee013102fdfd8da5 | |
parent | a7be375586bad56f4fc15da1fe1759deabef1ff6 [diff] |
[analyzer] Fix UninitializedObjectChecker to not crash on uninitialized "id" fields Differential Revision: https://reviews.llvm.org/D50673 llvm-svn: 339631
diff --git a/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp index 4da5fa5..810e066 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
@@ -265,7 +265,7 @@ continue; } - if (T->isPointerType() || T->isReferenceType() || T->isBlockPointerType()) { + if (T->isAnyPointerType() || T->isReferenceType() || T->isBlockPointerType()) { if (isPointerOrReferenceUninit(FR, LocalChain)) ContainsUninitField = true; continue;
diff --git a/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp b/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp index 7f08d02..6c83b2e 100644 --- a/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp
@@ -78,7 +78,7 @@ bool FindUninitializedFields::isPointerOrReferenceUninit( const FieldRegion *FR, FieldChainInfo LocalChain) { - assert((FR->getDecl()->getType()->isPointerType() || + assert((FR->getDecl()->getType()->isAnyPointerType() || FR->getDecl()->getType()->isReferenceType() || FR->getDecl()->getType()->isBlockPointerType()) && "This method only checks pointer/reference objects!");