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-----