From 581dc7c82f8564e9cfbdfd2f773ef1c561af993a Mon Sep 17 00:00:00 2001 From: Felix Raimundo Date: Tue, 12 Apr 2016 12:02:17 +0200 Subject: [PATCH] Remove useless clone and memory leak. Change-Id: I413cf23249db7a120fa198fdf538a64caa22497e --- poincare/src/simplify/expression_builder.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/poincare/src/simplify/expression_builder.cpp b/poincare/src/simplify/expression_builder.cpp index 5c64c8587..7222a4f49 100644 --- a/poincare/src/simplify/expression_builder.cpp +++ b/poincare/src/simplify/expression_builder.cpp @@ -26,15 +26,20 @@ Expression * ExpressionBuilder::build(ExpressionMatch matches[]) { children_expressions[numberOfChildrenExpressions++] = child->build(matches); } } + Expression * result = nullptr; switch(m_action) { case ExpressionBuilder::Action::BuildFromType: switch(m_expressionType) { case Expression::Type::Addition: - result = new Addition(children_expressions, numberOfChildrenExpressions, true); + /* The children do not need to be cloned as they already have been + * before. */ + result = new Addition(children_expressions, numberOfChildrenExpressions, false); break; case Expression::Type::Product: - result = new Product(children_expressions, numberOfChildrenExpressions, true); + /* The children do not need to be cloned as they already have been + * before. */ + result = new Product(children_expressions, numberOfChildrenExpressions, false); break; default: assert(false);