Hardening the vector iterator synthetic child(ren) provider against item-not-in-cluster asserts
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178265 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/DataFormatters/CXXFormatterFunctions.cpp b/source/DataFormatters/CXXFormatterFunctions.cpp
index 20000a7..20231d9 100644
--- a/source/DataFormatters/CXXFormatterFunctions.cpp
+++ b/source/DataFormatters/CXXFormatterFunctions.cpp
@@ -958,6 +958,8 @@
bool
lldb_private::formatters::VectorIteratorSyntheticFrontEnd::Update()
{
+ m_item_sp.reset();
+
ValueObjectSP valobj_sp = m_backend.GetSP();
if (!valobj_sp)
return false;
@@ -975,7 +977,7 @@
m_item_sp = ValueObject::CreateValueObjectFromAddress("item", item_ptr->GetValueAsUnsigned(0), m_exe_ctx_ref, ClangASTType(item_ptr->GetClangAST(),ClangASTType::GetPointeeType(item_ptr->GetClangType())));
if (err.Fail())
m_item_sp.reset();
- return (m_item_sp.get() != NULL);
+ return false;
}
size_t