[LLDB][ClangExpression] Prevent nullptr namespace map access during logging
authorMichael Buch <michaelbuch12@gmail.com>
Tue, 26 Jul 2022 10:46:02 +0000 (11:46 +0100)
committerMichael Buch <michaelbuch12@gmail.com>
Tue, 26 Jul 2022 14:47:35 +0000 (15:47 +0100)
commit0a412b3505f42558573e0d9005d4fe7c6102d8c9
treebf13a62756d46ad8bae792bc16fef50ba2f0063b
parent0eb9f18520a9a46395a01f9acc9eb829827f340c
[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
lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp