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.
This commit is contained in:
Lioncash 2013-08-08 17:56:15 -04:00
parent 72abe7c654
commit cce809ac90
1 changed files with 3 additions and 0 deletions

View File

@ -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;