aboutsummaryrefslogtreecommitdiff
path: root/compiler/syntax.c
diff options
context:
space:
mode:
authorCamil Staps2016-08-25 18:05:46 +0200
committerCamil Staps2016-08-25 18:05:46 +0200
commitb70388ee72a7ab74eb45c987e62d731f63843a58 (patch)
tree26627d94bc3a749b433dcca2ac67573959e198b6 /compiler/syntax.c
parentMove memory allocation to separate module (diff)
Fixed overwriting errors
Diffstat (limited to 'compiler/syntax.c')
-rw-r--r--compiler/syntax.c3
1 files changed, 3 insertions, 0 deletions
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) {