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

Tom Rini <[email protected]>
Newsgroups org.u-boot-project.lists.u-boot
Message-ID <20260810231448.GH1160436@bill-the-cat>
Here's the latest report

---------- Forwarded message ---------
From: <[email protected]>
Date: Mon, Aug 10, 2026 at 5:06 PM
Subject: New Defects reported by Coverity Scan for Das U-Boot
To: <[email protected]>


Hi,

Please find the latest report on new defect(s) introduced to *Das U-Boot*
found with Coverity Scan.

   - *New Defects Found:* 5
   - 1 defect(s), reported by Coverity Scan earlier, were marked fixed in
   the recent build analyzed by Coverity Scan.
   - *Defects Shown:* Showing 5 of 5 defect(s)

Defect Details

** CID 652911:       Resource leaks  (RESOURCE_LEAK)
/drivers/pinctrl/pinctrl-single.c: 579           in single_add_gpio_func()


_____________________________________________________________________________________________
*** CID 652911:         Resource leaks  (RESOURCE_LEAK)
/drivers/pinctrl/pinctrl-single.c: 579             in single_add_gpio_func()
573     			break;
574
575     		list_add_tail(&range->node, &priv->gpiofuncs);
576     		range++;
577     	}
578
>>>     CID 652911:         Resource leaks  (RESOURCE_LEAK)
>>>     Variable "range" going out of scope leaks the storage it points to.
579     	return 0;
580     }
581
582     static int single_probe(struct udevice *dev)
583     {
584     	struct single_pdata *pdata = dev_get_plat(dev);

** CID 652910:       Memory - illegal accesses  (UNINIT)


_____________________________________________________________________________________________
*** CID 652910:         Memory - illegal accesses  (UNINIT)
/lib/libavb/avb_cmdline.c: 342             in avb_append_options()
336             break;
337           case AVB_HASHTREE_ERROR_MODE_PANIC:
338             verity_mode = "panicking";
339             dm_verity_mode = "panic_on_corruption";
340             break;
341         }
>>>     CID 652910:         Memory - illegal accesses  (UNINIT)
>>>     Using uninitialized value "dm_verity_mode" when calling "avb_replace".
342         new_ret = avb_replace(
343             slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode);
344         avb_free(slot_data->cmdline);
345         slot_data->cmdline = new_ret;
346         if (slot_data->cmdline == NULL) {
347           ret = AVB_SLOT_VERIFY_RESULT_ERROR_OOM;

** CID 652909:       Control flow issues  (DEADCODE)
/boot/bootretry.c: 32           in bootretry_parse()


_____________________________________________________________________________________________
*** CID 652909:         Control flow issues  (DEADCODE)
/boot/bootretry.c: 32             in bootretry_parse()
26     	if (s != NULL)
27     		retry_time = (int)simple_strtol(s, NULL, 10);
28     	else
29     		retry_time = CONFIG_BOOT_RETRY_TIME;
30
31     	if (retry_time >= 0 && retry_time < CONFIG_BOOT_RETRY_MIN)
>>>     CID 652909:         Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "retry_time = 0;".
32     		retry_time = CONFIG_BOOT_RETRY_MIN;
33     }
34
35     void bootretry_init_cmd_timeout(void)
36     {
37     	bootretry_parse(env_get("bootretry"));

** CID 652908:       Error handling issues  (NEGATIVE_RETURNS)
/test/dm/hash.c: 35           in hash_test_success()


_____________________________________________________________________________________________
*** CID 652908:         Error handling issues  (NEGATIVE_RETURNS)
/test/dm/hash.c: 35             in hash_test_success()
29
30     static int hash_test_success(struct udevice *dev, enum HASH_ALGO algo,
31     			     const void *ibuf, const uint32_t ilen,
32     			     void *obuf, uint32_t chunk_sz)
33     {
34     	success_calls++;
>>>     CID 652908:         Error handling issues  (NEGATIVE_RETURNS)
>>>     "hash_algo_digest_size(algo)" is passed to a parameter that cannot be negative. [Note: The source code implementation of the function has been overridden by a builtin model.]
35     	memset(obuf, 0x5a, hash_algo_digest_size(algo));
36
37     	return 0;
38     }
39
40     static int hash_test_hard_error(struct udevice *dev, enum HASH_ALGO algo,

** CID 652907:       Memory - corruptions  (OVERRUN)
/test/dm/hash.c: 35           in hash_test_success()


_____________________________________________________________________________________________
*** CID 652907:         Memory - corruptions  (OVERRUN)
/test/dm/hash.c: 35             in hash_test_success()
29
30     static int hash_test_success(struct udevice *dev, enum HASH_ALGO algo,
31     			     const void *ibuf, const uint32_t ilen,
32     			     void *obuf, uint32_t chunk_sz)
33     {
34     	success_calls++;
>>>     CID 652907:         Memory - corruptions  (OVERRUN)
>>>     Calling "memset" with "obuf" and "hash_algo_digest_size(algo)" is suspicious because of the very large index, 18446744073709551594. The index may be due to a negative parameter being interpreted as unsigned. [Note: The source code implementation of the function has been overridden by a builtin model.]
35     	memset(obuf, 0x5a, hash_algo_digest_size(algo));
36
37     	return 0;
38     }
39
40     static int hash_test_hard_error(struct udevice *dev, enum HASH_ALGO algo,



View Defects in Coverity Scan
<https://scan.coverity.com/projects/das-u-boot?tab=overview>

Best regards,

The Coverity Scan Admin Team

----- End forwarded message -----

-- 
Tom
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQTzzqh0PWDgGS+bTHor4qD1Cr/kCgUCanpbZAAKCRAr4qD1Cr/k
CrgqAP9i+pjp0p01VOYupkRnl0WgeS8GUnPGxBrcrrUIIu8D/wD/f3mOKayM0GZa
LiD7dpr7DKPc0AnLshdKJaBIDGIOago=
=J66Y
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.