diff --git a/src/boot/boot-efi.c b/src/boot/boot-efi.c index faa86805d..51f12c0c1 100644 --- a/src/boot/boot-efi.c +++ b/src/boot/boot-efi.c @@ -75,7 +75,13 @@ static int get_boot_entries(struct boot_info *info) { err = efi_get_boot_option(list[i], &e->title, &e->part_uuid, &e->path); if (err < 0) continue; + + if (isempty(e->title)) { + free(e->title); + e->title = NULL; + } tilt_slashes(e->path); + e->id = list[i]; info->fw_entries_count++; } diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c index 2f1f6438c..2a42898e3 100644 --- a/src/boot/bootctl.c +++ b/src/boot/bootctl.c @@ -149,7 +149,7 @@ static int show_status(char **args, unsigned n) { printf(" Firmware: %s (%s)\n", info->fw_type, strna(info->fw_info)); if (info->fw_entry_active >= 0) { - printf("Firmware entry: %s\n", info->fw_entries[info->fw_entry_active].title); + printf("Firmware entry: %s\n", strna(info->fw_entries[info->fw_entry_active].title)); if (info->fw_entries[info->fw_entry_active].path) printf(" %s\n", info->fw_entries[info->fw_entry_active].path); if (!sd_id128_equal(info->fw_entries[info->fw_entry_active].part_uuid, SD_ID128_NULL)) @@ -165,7 +165,7 @@ static int show_status(char **args, unsigned n) { SD_ID128_FORMAT_VAL(info->loader_part_uuid)); if (info->loader_entry_active >= 0) { - printf(" Loader entry: %s\n", info->loader_entries[info->loader_entry_active].title); + printf(" Loader entry: %s\n", strna(info->loader_entries[info->loader_entry_active].title)); printf(" %s\n", info->loader_entries[info->loader_entry_active].path); }