From 55048ab90774e0bb7f98346f39942e5bd2a95128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89milie=20Feral?= Date: Fri, 16 Nov 2018 13:31:29 +0100 Subject: [PATCH] [poincare] VariableContext::expressionForSymbol returns a clone of its kept value to unable any modification of its value (without calling setExpressionForSymbol). All contexts::expressionForSymbol return new Expression that can be tempered with. --- poincare/src/variable_context.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/poincare/src/variable_context.cpp b/poincare/src/variable_context.cpp index 448fead7b..858f18c58 100644 --- a/poincare/src/variable_context.cpp +++ b/poincare/src/variable_context.cpp @@ -31,7 +31,7 @@ void VariableContext::setExpressionForSymbol(const Expression & expression, cons const Expression VariableContext::expressionForSymbol(const SymbolAbstract & symbol) { if (strcmp(symbol.name(), m_name) == 0) { - return m_value; + return m_value.clone(); } else { return m_parentContext->expressionForSymbol(symbol); }