mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-05 04:36:13 +02:00
scsi: Fix the name string memory leak during scsi scan
There is a memory leak during the scsi scan process due to the strdup'ed name string is never freed. Actually it is unnecessary to pass a strdup'ed name string to blk_create_devicef() as we can use the name string on the stack directly. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
parent
749ec88604
commit
c6e8befd4b
@ -584,7 +584,7 @@ static int do_scsi_scan_one(struct udevice *dev, int id, int lun, bool verbose)
|
||||
struct udevice *bdev;
|
||||
struct blk_desc bd;
|
||||
struct blk_desc *bdesc;
|
||||
char str[10], *name;
|
||||
char str[10];
|
||||
|
||||
/*
|
||||
* detect the scsi driver to get information about its geometry (block
|
||||
@ -600,10 +600,7 @@ static int do_scsi_scan_one(struct udevice *dev, int id, int lun, bool verbose)
|
||||
* block devices created
|
||||
*/
|
||||
snprintf(str, sizeof(str), "id%dlun%d", id, lun);
|
||||
name = strdup(str);
|
||||
if (!name)
|
||||
return log_msg_ret("nam", -ENOMEM);
|
||||
ret = blk_create_devicef(dev, "scsi_blk", name, UCLASS_SCSI, -1,
|
||||
ret = blk_create_devicef(dev, "scsi_blk", str, UCLASS_SCSI, -1,
|
||||
bd.blksz, bd.lba, &bdev);
|
||||
if (ret) {
|
||||
debug("Can't create device\n");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user