Fix memory leak in ast.

If a node has children the array of children was never freed.
This commit is contained in:
omicron 2025-04-01 21:51:48 +02:00
parent f4638d43b6
commit a09d591e86
2 changed files with 5 additions and 1 deletions

View File

@ -26,6 +26,7 @@ void ast_node_free(ast_node_t *node) {
if (node->children) {
for (size_t i = 0; i < node->len; ++i)
ast_node_free(node->children[i]);
free(node->children);
}
ast_node_free_value(node);

View File

@ -17,7 +17,6 @@ typedef enum node_id {
NODE_INSTRUCTION,
NODE_OPERANDS,
NODE_OPERAND,
NODE_REGISTER,
NODE_IMMEDIATE,
NODE_MEMORY,
NODE_NUMBER,
@ -28,6 +27,10 @@ typedef enum node_id {
NODE_REGISTER_OFFSET,
NODE_PLUS_OR_MINUS,
// Validated primitives
NODE_REGISTER,
NODE_SECTION,
// Primitive nodes
NODE_IDENTIFIER,
NODE_DECIMAL,