[Lldb-commits] [PATCH] D130561: [LLDB][ClangExpression] Prevent nullptr namespace map access during logging
Michael Buch via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Jul 26 03:50:25 PDT 2022
Michael137 created this revision.
Michael137 added reviewers: aprantl, jingham.
Herald added a project: All.
Michael137 requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
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.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D130561
Files:
lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
Index: lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
===================================================================
--- lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
+++ lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
@@ -191,12 +191,12 @@
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());
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130561.447638.patch
Type: text/x-patch
Size: 965 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20220726/db533b56/attachment.bin>
More information about the lldb-commits
mailing list