summaryrefslogtreecommitdiff
path: root/src/compiler/ast-tree.c
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-01-19 21:55:45 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-01-19 21:55:45 +0330
commit1963e7dddfaeebb22e3657adc1a7ee86fda50d52 (patch)
tree33a1c771443bc743d32a83dd775337f59cbbc977 /src/compiler/ast-tree.c
parent6372d439068482a847fabcb9e97d9e240ccb8a47 (diff)
fix memory leaks
Diffstat (limited to 'src/compiler/ast-tree.c')
-rw-r--r--src/compiler/ast-tree.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/ast-tree.c b/src/compiler/ast-tree.c
index f25fc51..52a41c9 100644
--- a/src/compiler/ast-tree.c
+++ b/src/compiler/ast-tree.c
@@ -59,6 +59,8 @@ void astTreeDestroy(AstTree tree) {
for (size_t i = 0; i < metadata->expressions_size; ++i) {
astTreeDestroy(metadata->expressions[i]);
}
+ free(metadata->expressions);
+ free(metadata);
case AST_TREE_TOKEN_KEYWORD_PRINT:
return;
case AST_TREE_TOKEN_NONE:
@@ -75,6 +77,7 @@ void astTreeDelete(AstTree *tree) {
void astTreeRootDelete(AstTreeRoot *root) {
for (size_t i = 0; i < root->variables.size; ++i) {
astTreeDelete(root->variables.data[i]->value);
+ free(root->variables.data[i]);
}
free(root->variables.data);
free(root);