mirror of
https://github.com/systemd/systemd.git
synced 2024-10-31 07:51:21 +03:00
boot: Retain ".conf" suffix for loader config IDs.
Change config_entry_add_from_file() so that it does not remove the `.conf` ending from the filename that it uses for entry->id. This is necessary because otherwise an EFISTUB binary and a loader config entry might end up with the same ID, as the loader config IDs previously didn't include the config filename's .conf extension (see boot.c:1435). Consider, for instance, an EFISTUB /EFI/Linux/linux.efi and a loader config /loader/entries/linux.efi.conf; both would have the ID linux.efi. In addition, update a comment that previously stated that IDs are non-unique (which is no longer the case, as of this commit).
This commit is contained in:
parent
65901c0fd1
commit
6cd12ebcfe
@ -32,7 +32,7 @@ enum loader_type {
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
CHAR16 *id; /* The identifier for this entry (note that this id is not necessarily unique though!) */
|
||||
CHAR16 *id; /* The unique identifier for this entry */
|
||||
CHAR16 *title_show;
|
||||
CHAR16 *title;
|
||||
CHAR16 *version;
|
||||
@ -1310,7 +1310,6 @@ static VOID config_entry_add_from_file(
|
||||
CHAR8 *line;
|
||||
UINTN pos = 0;
|
||||
CHAR8 *key, *value;
|
||||
UINTN len;
|
||||
EFI_STATUS err;
|
||||
EFI_FILE_HANDLE handle;
|
||||
_cleanup_freepool_ CHAR16 *initrd = NULL;
|
||||
@ -1431,10 +1430,6 @@ static VOID config_entry_add_from_file(
|
||||
|
||||
entry->device = device;
|
||||
entry->id = StrDuplicate(file);
|
||||
len = StrLen(entry->id);
|
||||
/* remove ".conf" */
|
||||
if (len > 5)
|
||||
entry->id[len - 5] = '\0';
|
||||
StrLwr(entry->id);
|
||||
|
||||
config_add_entry(config, entry);
|
||||
|
Loading…
Reference in New Issue
Block a user