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