diff options
author | SzuWei Lin <szuweilin@google.com> | 2017-04-07 18:56:13 +0800 |
---|---|---|
committer | SzuWei Lin <szuweilin@google.com> | 2017-04-10 03:12:15 +0000 |
commit | 70107c8f5c65bc9798d8f6b7f5b580997d0aca19 (patch) | |
tree | 15b82b50d8419412e59559fb0f6c8a6e44b584d6 /ufdt_convert.c | |
parent | 1661eb958a0f7b4f9ebcf0a73257019d97e52901 (diff) | |
download | libufdt-70107c8f5c65bc9798d8f6b7f5b580997d0aca19.tar.gz |
Fix memory and file leak
Bug: 35652061
Test: valgrind --leak-check=yes --show-reachable=yes ufdt_apply_overlay ...
and result no leak
Change-Id: Iec0fe77468d2fdf6c692209cd9571c02f96e2e44
Diffstat (limited to 'ufdt_convert.c')
-rw-r--r-- | ufdt_convert.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ufdt_convert.c b/ufdt_convert.c index caa3ce3..b990c20 100644 --- a/ufdt_convert.c +++ b/ufdt_convert.c @@ -15,6 +15,7 @@ struct ufdt *ufdt_construct(void *fdtp) { void ufdt_destruct(struct ufdt *tree) { ufdt_node_destruct(tree->root); dto_free(tree->phandle_table.data); + dto_free(tree); } static struct ufdt_node *ufdt_new_node(void *fdtp, int node_offset) { @@ -159,6 +160,7 @@ int merge_children(struct ufdt_node *node_a, struct ufdt_node *node_b) { err = ufdt_node_add_child(node_a, cur_node); } else { err = merge_ufdt_into(target_node, cur_node); + dto_free(cur_node); } if (err < 0) return -1; } |