Fix memory allocation / free bugs.
This commit is contained in:
parent
1438690b62
commit
dc9702df4c
|
@ -41,8 +41,7 @@ void _parser_extract_token_buffer(struct parser_state* state, char* buffer,
|
||||||
}
|
}
|
||||||
|
|
||||||
int _parser_foreach_free_tree(void* data, va_list args) {
|
int _parser_foreach_free_tree(void* data, va_list args) {
|
||||||
libab_tree_free(data);
|
libab_tree_free_recursive(data);
|
||||||
free(data);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1118,8 +1117,9 @@ libab_result _parse_expression(struct parser_state* state,
|
||||||
result = LIBAB_UNEXPECTED;
|
result = LIBAB_UNEXPECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
ll_free(&op_stack);
|
ll_foreach(&op_stack, NULL, compare_always, _parser_foreach_free_tree);
|
||||||
ll_foreach(&out_stack, NULL, compare_always, _parser_foreach_free_tree);
|
ll_foreach(&out_stack, NULL, compare_always, _parser_foreach_free_tree);
|
||||||
|
ll_free(&op_stack);
|
||||||
ll_free(&out_stack);
|
ll_free(&out_stack);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user