[Lldb-commits] [lldb] r235982 - Don't print a type of variable in Address::Dump if it's unknown (i.e. nullptr)
Ilia K
ki.stfu at gmail.com
Tue Apr 28 05:45:57 PDT 2015
Author: ki.stfu
Date: Tue Apr 28 07:45:57 2015
New Revision: 235982
URL: http://llvm.org/viewvc/llvm-project?rev=235982&view=rev
Log:
Don't print a type of variable in Address::Dump if it's unknown (i.e. nullptr)
Summary: This patch fixes dereferencing of nullptr in case when GetType() returns that.
Reviewers: jingham, granata.enrico, clayborg
Reviewed By: clayborg
Subscribers: lldb-commits, granata.enrico, clayborg, jingham
Differential Revision: http://reviews.llvm.org/D9274
Modified:
lldb/trunk/source/Core/Address.cpp
Modified: lldb/trunk/source/Core/Address.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Address.cpp?rev=235982&r1=235981&r2=235982&view=diff
==============================================================================
--- lldb/trunk/source/Core/Address.cpp (original)
+++ lldb/trunk/source/Core/Address.cpp Tue Apr 28 07:45:57 2015
@@ -745,10 +745,15 @@ Address::Dump (Stream *s, ExecutionConte
if (var && var->LocationIsValidForAddress (*this))
{
s->Indent();
- s->Printf (" Variable: id = {0x%8.8" PRIx64 "}, name = \"%s\", type= \"%s\", location =",
+ s->Printf (" Variable: id = {0x%8.8" PRIx64 "}, name = \"%s\"",
var->GetID(),
- var->GetName().GetCString(),
- var->GetType()->GetName().GetCString());
+ var->GetName().GetCString());
+ Type *type = var->GetType();
+ if (type)
+ s->Printf(", type = \"%s\"", type->GetName().GetCString());
+ else
+ s->PutCString(", type = <unknown>");
+ s->PutCString(", location = ");
var->DumpLocationForAddress(s, *this);
s->PutCString(", decl = ");
var->GetDeclaration().DumpStopContext(s, false);
More information about the lldb-commits
mailing list