diff options
author | Mike McTernan <mikemcternan@google.com> | 2022-08-22 21:43:26 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-08-22 21:43:26 +0000 |
commit | c08f589c3940fdef54ad7c02bf379a8fc0df000b (patch) | |
tree | f0a57c24f3be0f4b258b801aa0a79cbbbe60b163 | |
parent | 6893fd6ca9298d3a936851ed591ca1c1375ad378 (diff) | |
parent | fe6d4267070f07415dcee8b252a6b522d09d752e (diff) | |
download | libufdt-c08f589c3940fdef54ad7c02bf379a8fc0df000b.tar.gz |
Merge "Fix count_phandle_node() / set_phandle_table_entry() equivalence. Fix error path from ufdt_construct() and fdt_string()." am: 28c6744aeb am: 74077f063d am: b86858baa4 am: fe6d426707
Original change: https://android-review.googlesource.com/c/platform/system/libufdt/+/2186596
Change-Id: I176e85c97f533116d77df2e42db2fc4ca76aa785
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | ufdt_convert.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ufdt_convert.c b/ufdt_convert.c index a02f53e..2234393 100644 --- a/ufdt_convert.c +++ b/ufdt_convert.c @@ -256,14 +256,14 @@ static void set_phandle_table_entry(struct ufdt_node *node, struct ufdt_phandle_table_entry *data, int *cur) { if (node == NULL || ufdt_node_tag(node) != FDT_BEGIN_NODE) return; - int ph = ufdt_node_get_phandle(node); + uint32_t ph = ufdt_node_get_phandle(node); if (ph > 0) { data[*cur].phandle = ph; data[*cur].node = node; (*cur)++; } struct ufdt_node **it; - for_each_node(it, node) set_phandle_table_entry(*it, data, cur); + for_each_child(it, node) set_phandle_table_entry(*it, data, cur); return; } @@ -299,6 +299,8 @@ struct ufdt *ufdt_from_fdt(void *fdtp, size_t fdt_size, } struct ufdt *res_tree = ufdt_construct(fdtp, pool); + if (res_tree == NULL) return NULL; + int end_offset; int start_tag = fdt_next_tag(fdtp, start_offset, &end_offset); res_tree->root = |