Re: Fwd: New Defects reported by Coverity Scan for Das U-Boot

Quentin Schulz
2025-02-25T10:48:28Z

Hi Heiko,

On 2/25/25 7:06 AM, Heiko Schocher wrote:
> Hello Tom,
>
> On 25.02.25 03:39, Tom Rini wrote:
>> Here's the latest report. Getting closer with the led change. I do wish
>> it was easier to test fixes here.
>
> Yes...
>
>> ---------- Forwarded message ---------
>> From: <scan-admin@coverity.com>
>> Date: Mon, Feb 24, 2025, 5:05 PM
>> Subject: New Defects reported by Coverity Scan for Das U-Boot
>> To: <tom.rini@gmail.com>
>>
>>
>> Hi,
>>
>> Please find the latest report on new defect(s) introduced to Das U-Boot
>> found with Coverity Scan.
>>
>> 1 new defect(s) introduced to Das U-Boot found with Coverity Scan.
>> 2 defect(s), reported by Coverity Scan earlier, were marked fixed in the
>> recent build analyzed by Coverity Scan.
>>
>> New defect(s) Reported-by: Coverity Scan
>> Showing 1 of 1 defect(s)
>>
>>
>> ** CID 542488:  Control flow issues  (NO_EFFECT)
>> /drivers/led/led-uclass.c: 277 in led_get_function_name()
>>
>>
>> ________________________________________________________________________________________________________
>> *** CID 542488:  Control flow issues  (NO_EFFECT)
>> /drivers/led/led-uclass.c: 277 in led_get_function_name()
>> 271                     return uc_plat->label;
>> 272
>> 273             /* Now try to detect function label name */
>> 274             func = dev_read_string(dev, "function");
>> 275             cp = dev_read_u32(dev, "color", &color);
>> 276             // prevent coverity scan error CID 541279:
>> (TAINTED_SCALAR)
>>>>>      CID 542488:  Control flow issues  (NO_EFFECT)
>>>>>      This less-than-zero comparison of an unsigned value is never
>>>>> true.
>> "color < 0U".
>> 277             if (color < LED_COLOR_ID_WHITE || color >=
>> LED_COLOR_ID_MAX)
>> 278                     cp = -EINVAL;
>
> So I simply remove this check ... and add a comment that LED_COLOR_ID_WHITE
> must be 0...
>

It's part of the binding from the kernel, I assume it's safe to assume
it'll be 0?

Also, this is guaranteed by the fact color is a u32 in
led_get_function_name, so it cannot be < 0.

Cheers,
Quentin