summaryrefslogtreecommitdiffstats
path: root/common/bootm.c
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2016-09-01 13:39:58 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2016-09-05 08:29:12 +0200
commitda1f91422c2e3479066e22cc2795b7927dfe6714 (patch)
tree1561ef1d8d2f6d4544e543605e057f720d38e695 /common/bootm.c
parent79a2cc9fe6b1db9255c3947f2067adc8eb3ce048 (diff)
downloadbarebox-da1f91422c2e3479066e22cc2795b7927dfe6714.tar.gz
of_unflatten_dtb(): Check return value with IS_ERR
Of_unflatten_dtb returns a ERR_PTR value so checking it against NULL is incorrect. Fix it in all of the places where this was happening. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common/bootm.c')
-rw-r--r--common/bootm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/common/bootm.c b/common/bootm.c
index 78d04d5..5984319 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -336,6 +336,9 @@ int bootm_load_devicetree(struct image_data *data, unsigned long load_address)
if (data->os_fit && data->os_fit->oftree) {
data->of_root_node = of_unflatten_dtb(data->os_fit->oftree);
+
+ if (IS_ERR(data->of_root_node))
+ data->of_root_node = NULL;
} else if (data->oftree_file) {
size_t size;
@@ -367,7 +370,8 @@ int bootm_load_devicetree(struct image_data *data, unsigned long load_address)
free(oftree);
- if (!data->of_root_node) {
+ if (IS_ERR(data->of_root_node)) {
+ data->of_root_node = NULL;
pr_err("unable to unflatten devicetree\n");
return -EINVAL;
}