diff options
author | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2023-05-27 08:18:28 +0200 |
---|---|---|
committer | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2023-06-02 10:59:15 +0200 |
commit | 1becdfcdc1eefecc061e34d7cc4eb92b403c5c4e (patch) | |
tree | 3b1858d906093ea424a46d64e239a25416f43769 /lib | |
parent | 5a2d5cbd3198c01c287fc0b284f50f89c6dec37a (diff) | |
download | u-boot-1becdfcdc1eefecc061e34d7cc4eb92b403c5c4e.zip u-boot-1becdfcdc1eefecc061e34d7cc4eb92b403c5c4e.tar.gz u-boot-1becdfcdc1eefecc061e34d7cc4eb92b403c5c4e.tar.bz2 |
efi_loader: check return value of part_get_info()
part_get_info() may return an error code. Check it.
Update function description of dp_part_node().
Addresses-Coverity-ID: 184067 ("Unchecked return value")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/efi_loader/efi_device_path.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c index 71923b1..04ebb44 100644 --- a/lib/efi_loader/efi_device_path.c +++ b/lib/efi_loader/efi_device_path.c @@ -843,12 +843,17 @@ static unsigned dp_part_size(struct blk_desc *desc, int part) * @buf buffer to which the device path is written * @desc block device descriptor * @part partition number, 0 identifies a block device + * + * Return: pointer to position after the node */ static void *dp_part_node(void *buf, struct blk_desc *desc, int part) { struct disk_partition info; + int ret; - part_get_info(desc, part, &info); + ret = part_get_info(desc, part, &info); + if (ret < 0) + return buf; if (desc->part_type == PART_TYPE_ISO) { struct efi_device_path_cdrom_path *cddp = buf; |