diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2013-08-09 10:46:11 +0200 |
|---|---|---|
| committer | Pierre Bourdon <delroth@gmail.com> | 2013-08-09 10:46:11 +0200 |
| commit | 0aa93080066ca16f7566213c083363dc7690f8cf (patch) | |
| tree | 2e083ad6e5a1d8d886e8458f9756aee8c190b268 /Source/Core/InputCommon/Src/ControllerInterface/ExpressionParser.cpp | |
| parent | 90d454d22f3ae92e4f0e5007cdacdaf3d6021e5a (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.cpp | 3 |
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; |
