[Lldb-commits] [lldb] r230711 - Fixed an infinite recursion bug that could happen when using python operating system plug-ins where we would ask the operating system plug-in to update its threads and this would cause the plugin to run an expression which would eventually run IRForTarget::CreateResultVariable() which would try to get the selected thread and cause re-entrant bug.

Greg Clayton gclayton at apple.com
Thu Feb 26 16:12:22 PST 2015


Author: gclayton
Date: Thu Feb 26 18:12:22 2015
New Revision: 230711

URL: http://llvm.org/viewvc/llvm-project?rev=230711&view=rev
Log:
Fixed an infinite recursion bug that could happen when using python operating system plug-ins where we would ask the operating system plug-in to update its threads and this would cause the plugin to run an expression which would eventually run IRForTarget::CreateResultVariable() which would try to get the selected thread and cause re-entrant bug.

<rdar://problem/19924734>


Modified:
    lldb/trunk/source/Expression/IRForTarget.cpp

Modified: lldb/trunk/source/Expression/IRForTarget.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/IRForTarget.cpp?rev=230711&r1=230710&r2=230711&view=diff
==============================================================================
--- lldb/trunk/source/Expression/IRForTarget.cpp (original)
+++ lldb/trunk/source/Expression/IRForTarget.cpp Thu Feb 26 18:12:22 2015
@@ -601,7 +601,7 @@ IRForTarget::CreateResultVariable (llvm:
 
 
     lldb::TargetSP target_sp (m_data_allocator.GetTarget());
-    lldb_private::ExecutionContext exe_ctx (target_sp.get(), true);
+    lldb_private::ExecutionContext exe_ctx (target_sp, true);
     if (m_result_type.GetBitSize(exe_ctx.GetBestExecutionContextScope()) == 0)
     {
         lldb_private::StreamString type_desc_stream;





More information about the lldb-commits mailing list