Patch from Yacine Belkadi that fixes an issue in Variable::GetValuesForVariableExpressionPath().
llvm-svn: 182301
diff --git a/lldb/source/Symbol/Variable.cpp b/lldb/source/Symbol/Variable.cpp
index 9b7f4c5..8b827db 100644
--- a/lldb/source/Symbol/Variable.cpp
+++ b/lldb/source/Symbol/Variable.cpp
@@ -416,8 +416,8 @@
ValueObjectSP variable_valobj_sp(ValueObjectVariable::Create (scope, var_sp));
if (variable_valobj_sp)
{
- variable_expr_path += variable_name.size();
- if (*variable_expr_path)
+ const char *variable_sub_expr_path = variable_expr_path + variable_name.size();
+ if (*variable_sub_expr_path)
{
const char* first_unparsed = NULL;
ValueObject::ExpressionPathScanEndReason reason_to_stop;
@@ -425,7 +425,7 @@
ValueObject::GetValueForExpressionPathOptions options;
ValueObject::ExpressionPathAftermath final_task_on_target;
- valobj_sp = variable_valobj_sp->GetValueForExpressionPath (variable_expr_path,
+ valobj_sp = variable_valobj_sp->GetValueForExpressionPath (variable_sub_expr_path,
&first_unparsed,
&reason_to_stop,
&final_value_type,
@@ -434,7 +434,7 @@
if (!valobj_sp)
{
error.SetErrorStringWithFormat ("invalid expression path '%s' for variable '%s'",
- variable_expr_path,
+ variable_sub_expr_path,
var_sp->GetName().GetCString());
}
}