With -Wsign-compare, compilers warn about a mismatching signedness in a comparison in fdt_setprop_inplace_namelen_partial(). Since fdt_getprop_namelen() can return negative error values, check for those first and bail out early. Later on we can then safely cast the value to an unsigned type. Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx> --- libfdt/fdt_wip.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libfdt/fdt_wip.c b/libfdt/fdt_wip.c index f64139e..d1b4f1b 100644 --- a/libfdt/fdt_wip.c +++ b/libfdt/fdt_wip.c @@ -20,10 +20,10 @@ int fdt_setprop_inplace_namelen_partial(void *fdt, int nodeoffset, propval = fdt_getprop_namelen_w(fdt, nodeoffset, name, namelen, &proplen); - if (!propval) + if (!propval || proplen < 0) return proplen; - if (proplen < (len + idx)) + if ((unsigned)proplen < (len + idx)) return -FDT_ERR_NOSPACE; memcpy((char *)propval + idx, val, len); -- 2.17.5