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>main
parent
9ffdf60bf4
commit
921cc17fec
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue