Fix memory leak in ast.
If a node has children the array of children was never freed.
This commit is contained in:
parent
f4638d43b6
commit
a09d591e86
@ -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);
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user