From cce809ac90cc195f0c88a6cc788b3ff7359083a5 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 8 Aug 2013 17:56:15 -0400 Subject: [PATCH] Fix a memory leak in ExpressionParser.cpp Because there's a return here, expr should be deleted since it's not assigned to anything before returning. --- .../InputCommon/Src/ControllerInterface/ExpressionParser.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp b/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp index d91fbc587c..1186551bf6 100644 --- a/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp +++ b/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp @@ -549,7 +549,10 @@ ExpressionParseStatus ParseExpressionInner(std::string str, ControlFinder &finde Parser p(tokens, finder); status = p.Parse(&expr); if (status != EXPRESSION_PARSE_SUCCESS) + { + delete expr; return status; + } *expr_out = expr; return EXPRESSION_PARSE_SUCCESS;