summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2013-08-09 10:46:11 +0200
committerPierre Bourdon <delroth@gmail.com>2013-08-09 10:46:11 +0200
commit0aa93080066ca16f7566213c083363dc7690f8cf (patch)
tree2e083ad6e5a1d8d886e8458f9756aee8c190b268 /Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp
parent90d454d22f3ae92e4f0e5007cdacdaf3d6021e5a (diff)
Revert "Fix a memory leak in ExpressionParser.cpp"
This reverts commit cce809ac90cc195f0c88a6cc788b3ff7359083a5. The code was actually correct: "expr" is never allocated when an error is returned. This means when the expression parser fails, deleting "expr" means deleting an uninitialized pointer.
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp')
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp3
1 files changed, 0 insertions, 3 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp b/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp
index 1186551bf6..d91fbc587c 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp
@@ -549,10 +549,7 @@ 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;