[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