[U-Boot] [PATCH] boot_fit: Fix warning: overflow in implicit constant conversion in fdt_offset()

Nobuhiro Iwamatsu iwamatsu at nigauri.org
Fri Aug 4 20:29:58 UTC 2017


Hi,

2017-08-03 8:56 GMT+09:00 Franklin S Cooper Jr <fcooper at ti.com>:
>
> 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.

I see. I will resend new patch.
Thanks!

Nobuhiro


-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6


More information about the U-Boot mailing list