summaryrefslogtreecommitdiff
path: root/ufdt_convert.c
diff options
context:
space:
mode:
authorSzuWei Lin <szuweilin@google.com>2017-04-07 18:56:13 +0800
committerSzuWei Lin <szuweilin@google.com>2017-04-10 03:12:15 +0000
commit70107c8f5c65bc9798d8f6b7f5b580997d0aca19 (patch)
tree15b82b50d8419412e59559fb0f6c8a6e44b584d6 /ufdt_convert.c
parent1661eb958a0f7b4f9ebcf0a73257019d97e52901 (diff)
downloadlibufdt-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.c2
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;
}