diff options
| author | Heinrich Schuchardt <[email protected]> | 2025-11-05 13:24:26 +0100 |
|---|---|---|
| committer | Heinrich Schuchardt <[email protected]> | 2025-11-06 23:26:28 +0100 |
| commit | dbed053487610781bdf48ca687fef9e39a982cb4 (patch) | |
| tree | ff345f7a2d4ae9c1ffd71248f97a5db8badf6892 /lib/efi_driver | |
| parent | 59f2c5a0fa65598c911306a7873638ef516b6e6f (diff) | |
efi_driver: don't leak name in efi_bl_create_block_device()
blk_create_devicef() uses a copy of parameter name.
We can use a local variable.
Reviewed-by: Bin Meng <[email protected]>
Reviewed-by: Ilias Apalodimas <[email protected]>
Signed-off-by: Heinrich Schuchardt <[email protected]>
Diffstat (limited to 'lib/efi_driver')
| -rw-r--r-- | lib/efi_driver/efi_block_device.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/lib/efi_driver/efi_block_device.c b/lib/efi_driver/efi_block_device.c index 913755336b2..9ab956c7ef7 100644 --- a/lib/efi_driver/efi_block_device.c +++ b/lib/efi_driver/efi_block_device.c @@ -124,7 +124,7 @@ efi_bl_create_block_device(efi_handle_t handle, void *interface) efi_status_t ret; int r; int devnum; - char *name; + char name[18]; /* strlen("efiblk#2147483648") + 1 */ struct efi_block_io *io = interface; struct efi_blk_plat *plat; @@ -136,9 +136,6 @@ efi_bl_create_block_device(efi_handle_t handle, void *interface) if (devnum < 0) return EFI_OUT_OF_RESOURCES; - name = calloc(1, 18); /* strlen("efiblk#2147483648") + 1 */ - if (!name) - return EFI_OUT_OF_RESOURCES; sprintf(name, "efiblk#%d", devnum); /* Create driver model udevice for the EFI block io device */ @@ -146,7 +143,6 @@ efi_bl_create_block_device(efi_handle_t handle, void *interface) devnum, io->media->block_size, (lbaint_t)io->media->last_block, &bdev)) { ret = EFI_OUT_OF_RESOURCES; - free(name); goto err; } |
