diff options
author | Adrian Prantl <aprantl@apple.com> | 2020-01-08 14:18:47 -0800 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2020-01-10 08:52:46 -0800 |
commit | e9331a56fead1823d528d6412828fb9e16fd62ff (patch) | |
tree | 0532d62035494c012cd196e24065418c6eed7c62 /lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp | |
parent | bdd88b7ed3956534a0a71b1ea2bc88c69d48f9b7 (diff) | |
download | bcm5719-llvm-e9331a56fead1823d528d6412828fb9e16fd62ff.tar.gz bcm5719-llvm-e9331a56fead1823d528d6412828fb9e16fd62ff.zip |
Add missing nullptr checks.
GetPersistentExpressionStateForLanguage() can return a nullptr if it
cannot construct a typesystem. This patch adds missing nullptr checks
at all uses.
Inspired by rdar://problem/58317195
Differential Revision: https://reviews.llvm.org/D72413
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp')
-rw-r--r-- | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp index 21cb33402e7..7ebb5fee1ec 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp @@ -315,12 +315,10 @@ bool ClangExpressionSourceCode::GetText( } } - if (ClangModulesDeclVendor *decl_vendor = - target->GetClangModulesDeclVendor()) { - ClangPersistentVariables *persistent_vars = - llvm::cast<ClangPersistentVariables>( - target->GetPersistentExpressionStateForLanguage( - lldb::eLanguageTypeC)); + ClangModulesDeclVendor *decl_vendor = target->GetClangModulesDeclVendor(); + auto *persistent_vars = llvm::cast<ClangPersistentVariables>( + target->GetPersistentExpressionStateForLanguage(lldb::eLanguageTypeC)); + if (decl_vendor && persistent_vars) { const ClangModulesDeclVendor::ModuleVector &hand_imported_modules = persistent_vars->GetHandLoadedClangModules(); ClangModulesDeclVendor::ModuleVector modules_for_macros; |