diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2021-06-24 10:52:08 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2021-06-25 09:27:07 +0200 |
commit | 8d21690fa82bbc29cc34005103a2eda63eafabf3 (patch) | |
tree | d8ce8f5ed7cf851e1938b3cd96e0ae4860467f3b /include | |
parent | 3b93bcd8db01bbe49249b59b0581b3ba375cb96b (diff) | |
download | barebox-8d21690fa82bbc29cc34005103a2eda63eafabf3.tar.gz |
fdt: Check blob size during unflattening
of_unflatten_dtb() doesn't check the size of the device tree blob
passed to it. Add a size argument end add checks for the size. Some
callers have no idea of the buffer size themselves, INT_MAX is passed
in these cases.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.barebox.org/20210624085223.14616-4-s.hauer@pengutronix.de
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/of.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/of.h b/include/of.h index 94eb71190d..b22996901f 100644 --- a/include/of.h +++ b/include/of.h @@ -109,8 +109,8 @@ void of_print_properties(struct device_node *node); void of_diff(struct device_node *a, struct device_node *b, int indent); int of_probe(void); int of_parse_dtb(struct fdt_header *fdt); -struct device_node *of_unflatten_dtb(const void *fdt); -struct device_node *of_unflatten_dtb_const(const void *infdt); +struct device_node *of_unflatten_dtb(const void *fdt, int size); +struct device_node *of_unflatten_dtb_const(const void *infdt, int size); struct cdev; |