[LLDB][ClangExpression] Prevent nullptr namespace map access during logging
Some codepaths lead to `namespace_map == nullptr` when we get to `ClangASTSource::FindCompleteType`. This occurred while debugging an lldb session that had `settings set target.import-std-module true`. In that case, with `LLDBLog::Expressions` logging enabled, we would dereference a `nullptr` and crash. This commit moves the logging until after we check for `nullptr`. **Testing** * Fixed the specific crash I was seeing while debugging an `lldb` session with `import-std-module` enabled. Differential Revision: https://reviews.llvm.org/D130561
This commit is contained in:
parent
0eb9f18520
commit
0a412b3505
|
@ -191,12 +191,12 @@ TagDecl *ClangASTSource::FindCompleteType(const TagDecl *decl) {
|
|||
ClangASTImporter::NamespaceMapSP namespace_map =
|
||||
m_ast_importer_sp->GetNamespaceMap(namespace_context);
|
||||
|
||||
LLDB_LOGV(log, " CTD Inspecting namespace map{0} ({1} entries)",
|
||||
namespace_map.get(), namespace_map->size());
|
||||
|
||||
if (!namespace_map)
|
||||
return nullptr;
|
||||
|
||||
LLDB_LOGV(log, " CTD Inspecting namespace map{0} ({1} entries)",
|
||||
namespace_map.get(), namespace_map->size());
|
||||
|
||||
for (const ClangASTImporter::NamespaceMapItem &item : *namespace_map) {
|
||||
LLDB_LOG(log, " CTD Searching namespace {0} in module {1}",
|
||||
item.second.GetName(), item.first->GetFileSpec().GetFilename());
|
||||
|
|
Loading…
Reference in New Issue
Block a user