diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2021-03-01 14:21:16 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2021-03-01 14:21:16 +0100 |
commit | db6acc08ec78cd019da87b22ef925ba78028abf4 (patch) | |
tree | 895aea25c656698017bbfe0887a37316b5a0bf57 /drivers | |
parent | dc3ad581df75d2d002675bcdeba28fc36c49b102 (diff) | |
parent | be077c7512440d1e52f96210a6855f171579f6f5 (diff) | |
download | barebox-db6acc08ec78cd019da87b22ef925ba78028abf4.tar.gz barebox-db6acc08ec78cd019da87b22ef925ba78028abf4.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/of/fdt.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index a31e2c348a..d98913e54a 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -184,10 +184,21 @@ static struct device_node *__of_unflatten_dtb(const void *infdt, bool constprops goto err; } - if (!node) + if (!node) { + /* The root node must have an empty name */ + if (*pathp) { + ret = -EINVAL; + goto err; + } node = root; - else + } else { + /* Only the root node may have an empty name */ + if (!*pathp) { + ret = -EINVAL; + goto err; + } node = of_new_node(node, pathp); + } dt_struct = dt_struct_advance(&f, dt_struct, sizeof(struct fdt_node_header) + len + 1); |