Author: jmolenda
Date: Thu Nov  5 18:43:31 2015
New Revision: 252252

URL: http://llvm.org/viewvc/llvm-project?rev=252252&view=rev
Log:
Upstream a change to MemoryHistoryASan from Sean:

Author: Sean Callanan <scalla...@apple.com>
Date:   Tue Jun 23 13:52:24 2015 -0700

    Memory history should not crash if it can't inspect its data.  Added
    error handling.
            
    <rdar://problem/21231304>


Modified:
    lldb/trunk/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp

Modified: lldb/trunk/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp?rev=252252&r1=252251&r2=252252&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp 
(original)
+++ lldb/trunk/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp Thu Nov  
5 18:43:31 2015
@@ -102,14 +102,23 @@ static void CreateHistoryThreadFromValue
     std::string count_path = "." + std::string(type) + "_count";
     std::string tid_path = "." + std::string(type) + "_tid";
     std::string trace_path = "." + std::string(type) + "_trace";
+    
+    ValueObjectSP count_sp = 
return_value_sp->GetValueForExpressionPath(count_path.c_str());
+    ValueObjectSP tid_sp = 
return_value_sp->GetValueForExpressionPath(tid_path.c_str());
+    
+    if (!count_sp || !tid_sp)
+        return;
 
-    int count = 
return_value_sp->GetValueForExpressionPath(count_path.c_str())->GetValueAsUnsigned(0);
-    tid_t tid = 
return_value_sp->GetValueForExpressionPath(tid_path.c_str())->GetValueAsUnsigned(0);
+    int count = count_sp->GetValueAsUnsigned(0);
+    tid_t tid = tid_sp->GetValueAsUnsigned(0);
 
     if (count <= 0)
         return;
 
     ValueObjectSP trace_sp = 
return_value_sp->GetValueForExpressionPath(trace_path.c_str());
+    
+    if (!trace_sp)
+        return;
 
     std::vector<lldb::addr_t> pcs;
     for (int i = 0; i < count; i++)


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to