aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Iooss <nicolas.iooss_linux@m4x.org>2017-03-04 14:26:44 +0100
committerDavid Gibson <david@gibson.dropbear.id.au>2017-03-06 14:19:26 +1100
commit921cc17fec295ce46720437cb064d0a6abf298e1 (patch)
treed2863bb9365eb86cfb81d3f27790839117cdb31f
parent9ffdf60bf463b7451e0fc8f9c8ec07c14dbd077c (diff)
downloaddtc-921cc17fec295ce46720437cb064d0a6abf298e1.tar.gz
libfdt: overlay: Check the value of the right variable
overlay_update_local_node_references() saves the result of fdt_subnode_offset() into variable tree_child but checks for variable ret afterwards. As this does not make sense, check tree_child instead of ret. This bug has been found by compiling with clang. The compiler reported the following warning: libfdt/fdt_overlay.c:275:7: error: variable 'ret' may be uninitialized when used here [-Werror,-Wconditional-uninitialized] if (ret == -FDT_ERR_NOTFOUND) ^~~ libfdt/fdt_overlay.c:210:9: note: initialize the variable 'ret' to silence this warning int ret; ^ = 0 Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--libfdt/fdt_overlay.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c
index 9d03221..ceb9687 100644
--- a/libfdt/fdt_overlay.c
+++ b/libfdt/fdt_overlay.c
@@ -271,7 +271,7 @@ static int overlay_update_local_node_references(void *fdto,
tree_child = fdt_subnode_offset(fdto, tree_node,
fixup_child_name);
- if (ret == -FDT_ERR_NOTFOUND)
+ if (tree_child == -FDT_ERR_NOTFOUND)
return -FDT_ERR_BADOVERLAY;
if (tree_child < 0)
return tree_child;