[U-Boot] [PATCH] boot_fit: Fix warning: overflow in implicit constant conversion in fdt_offset()
Franklin S Cooper Jr
fcooper at ti.com
Wed Aug 2 23:56:53 UTC 2017
Hi
On 08/02/2017 06:10 PM, Nobuhiro Iwamatsu wrote:
> FDT_ERROR is defined as unsigned long. However, since the return value of
> fdt_offset() is int, a warning will occur when compiling.
> This fixes this problem by cast to int when setting FDT_ERROR as return value.
>
> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu at nigauri.org>
> CC: Franklin S Cooper Jr <fcooper at ti.com>
> ---
> common/boot_fit.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/common/boot_fit.c b/common/boot_fit.c
> index 51440a6e6f..ca130f2308 100644
> --- a/common/boot_fit.c
> +++ b/common/boot_fit.c
> @@ -25,7 +25,7 @@ int fdt_offset(void *fit)
> images = fdt_path_offset(fit, FIT_IMAGES_PATH);
> if (images < 0) {
> debug("%s: Cannot find /images node: %d\n", __func__, images);
> - return FDT_ERROR;
> + return (int)FDT_ERROR;
Returning -EINVAL would be better. Doing essentially (int)((ulong)(-1))
doesn't look right and to function properly that function needs to
return any kind of negative value. Thanks for catching this problem.
> }
>
> fdt_name = fdt_getprop(fit, node, FIT_FDT_PROP, &fdt_len);
>
More information about the U-Boot
mailing list