On 4 March 2017 at 06:26, Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> wrote: > 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@xxxxxxx> > --- > libfdt/fdt_overlay.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> This suggests we need a new test case. > > diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c > index 56cb70ed4445..b2fb5d970ccc 100644 > --- a/libfdt/fdt_overlay.c > +++ b/libfdt/fdt_overlay.c > @@ -272,7 +272,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; > -- > 2.11.1 > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html