[Lldb-commits] [lldb] r228729 - Don't crash when evaluating a DWARF expression has a DW_OP_bra with nothing on the value stack.

Greg Clayton gclayton at apple.com
Tue Feb 10 11:43:15 PST 2015


Author: gclayton
Date: Tue Feb 10 13:43:15 2015
New Revision: 228729

URL: http://llvm.org/viewvc/llvm-project?rev=228729&view=rev
Log:
Don't crash when evaluating a DWARF expression has a DW_OP_bra with nothing on the value stack.

<rdar://problem/18919125>


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

Modified: lldb/trunk/source/Expression/DWARFExpression.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/DWARFExpression.cpp?rev=228729&r1=228728&r2=228729&view=diff
==============================================================================
--- lldb/trunk/source/Expression/DWARFExpression.cpp (original)
+++ lldb/trunk/source/Expression/DWARFExpression.cpp Tue Feb 10 13:43:15 2015
@@ -2198,6 +2198,13 @@ DWARFExpression::Evaluate
         // constant.
         //----------------------------------------------------------------------
         case DW_OP_bra:
+            if (stack.empty())
+            {
+                if (error_ptr)
+                    error_ptr->SetErrorString("Expression stack needs at least 1 item for DW_OP_bra.");
+                return false;
+            }
+            else
             {
                 tmp = stack.back();
                 stack.pop_back();





More information about the lldb-commits mailing list