ast_expression_delete: delete varparam if it is set - fixes another leak

This commit is contained in:
Wolfgang Bumiller 2013-04-15 21:05:59 +02:00
parent d5e90a17f9
commit 1f667c4b35
2 changed files with 4 additions and 0 deletions

2
ast.c
View file

@ -87,6 +87,8 @@ static void ast_expression_delete(ast_expression *self)
ast_delete(self->expression.params[i]);
}
vec_free(self->expression.params);
if (self->expression.varparam)
ast_delete(self->expression.varparam);
}
static void ast_expression_delete_full(ast_expression *self)

View file

@ -4791,6 +4791,8 @@ static ast_value *parse_parameter_list(parser_t *parser, ast_value *var)
on_error:
if (argcounter)
mem_d(argcounter);
if (varparam)
ast_delete(varparam);
ast_delete(var);
for (i = 0; i < vec_size(params); ++i)
ast_delete(params[i]);