From b70388ee72a7ab74eb45c987e62d731f63843a58 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Thu, 25 Aug 2016 18:05:46 +0200 Subject: Fixed overwriting errors --- compiler/syntax.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'compiler/syntax.c') diff --git a/compiler/syntax.c b/compiler/syntax.c index b4ff9dc..3d5e18d 100644 --- a/compiler/syntax.c +++ b/compiler/syntax.c @@ -22,6 +22,7 @@ unsigned empty_args_list(arg_list* list) { } void cpy_expression(expression* dst, expression* src) { + free_expression(dst); dst->kind = src->kind; switch (dst->kind) { case EXPR_INT: @@ -136,6 +137,8 @@ void free_expression(expression* expr) { my_free(expr->var2); break; } + + expr->var1 = expr->var2 = NULL; } void free_arg_list(arg_list* list) { -- cgit v1.2.3