[Lldb-commits] [lldb] r234437 - Fix segfault when doing `thread info` on a thread without stop info.

Chaoren Lin chaorenl at google.com
Wed Apr 8 14:19:12 PDT 2015


Author: chaoren
Date: Wed Apr  8 16:19:12 2015
New Revision: 234437

URL: http://llvm.org/viewvc/llvm-project?rev=234437&view=rev
Log:
Fix segfault when doing `thread info` on a thread without stop info.

Summary:
E.g., if thread 1 hits a breakpoint, then a `thread info` on thread 2 will cause
a segfault, since thread 2 will have no stop info (intended behavior?).

Reviewers: kubabrecka, clayborg

Reviewed By: clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D8905

Modified:
    lldb/trunk/source/Target/Thread.cpp

Modified: lldb/trunk/source/Target/Thread.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Thread.cpp?rev=234437&r1=234436&r2=234437&view=diff
==============================================================================
--- lldb/trunk/source/Target/Thread.cpp (original)
+++ lldb/trunk/source/Target/Thread.cpp Wed Apr  8 16:19:12 2015
@@ -2209,8 +2209,7 @@ Thread::GetDescription (Stream &strm, ll
     strm.Printf("\n");
 
     StructuredData::ObjectSP thread_info = GetExtendedInfo();
-    StructuredData::ObjectSP stop_info = m_stop_info_sp->GetExtendedInfo();
-    
+
     if (print_json_thread || print_json_stopinfo)
     {
         if (thread_info && print_json_thread)
@@ -2218,13 +2217,17 @@ Thread::GetDescription (Stream &strm, ll
             thread_info->Dump (strm);
             strm.Printf("\n");
         }
-        
-        if (stop_info && print_json_stopinfo)
+
+        if (print_json_stopinfo && m_stop_info_sp)
         {
-            stop_info->Dump (strm);
-            strm.Printf("\n");
+            StructuredData::ObjectSP stop_info = m_stop_info_sp->GetExtendedInfo();
+            if (stop_info)
+            {
+                stop_info->Dump (strm);
+                strm.Printf("\n");
+            }
         }
-        
+
         return true;
     }
 





More information about the lldb-commits mailing list