cmd: bcb: Fix segfault on invalid block device
When blk_get_dev() fails, block NULL and gets de-referenced in
the error path by a printf(), resulting in a crash.
This can be reproduced on sandbox with:
$ ./u-boot --command "bcb load mmc 0 0"
Fix the message by using the functions arguments (iface, devnum)
instead.
Note: partition (being a global static initialized) can be used safely.
This issue has been reported by coverity [1]
[1] https://lore.kernel.org/all/20240723141844.GF989285@bill-the-cat/
Fixes: dfeb4f0d79 ("cmd: bcb: extend BCB C API to allow read/write the fields")
Reviewed-by: Dmitrii Merkurev <dimorinny@google.com>
Link: https://lore.kernel.org/r/20240724-bcb-crash-v1-1-44caff15bce4@baylibre.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
This commit is contained in:
@@ -172,8 +172,8 @@ static int __bcb_initialize(const char *iface, int devnum, const char *partp)
|
||||
return CMD_RET_SUCCESS;
|
||||
|
||||
err_read_fail:
|
||||
printf("Error: %d %d:%s read failed (%d)\n", block->uclass_id,
|
||||
block->devnum, partition->name, ret);
|
||||
printf("Error: %s %d:%s read failed (%d)\n", iface, devnum,
|
||||
partition->name, ret);
|
||||
__bcb_reset();
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user