mirror of
https://github.com/systemd/systemd.git
synced 2026-08-04 15:10:33 +00:00
efivars: make sure efi_loader_entry_name_valid() is always compiled in
The string validation should always be done correctly, and not fail just because EFI is turned off. After all an EFI loader entry name string remains properly formatted regardless if EFI is on or off... Fixes: #11948
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
35d3a35e56
commit
995cbd72b2
@@ -789,16 +789,6 @@ int efi_loader_get_device_part_uuid(sd_id128_t *u) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool efi_loader_entry_name_valid(const char *s) {
|
||||
if (isempty(s))
|
||||
return false;
|
||||
|
||||
if (strlen(s) > FILENAME_MAX) /* Make sure entry names fit in filenames */
|
||||
return false;
|
||||
|
||||
return in_charset(s, ALPHANUMERICAL "-_.");
|
||||
}
|
||||
|
||||
int efi_loader_get_entries(char ***ret) {
|
||||
_cleanup_free_ char16_t *entries = NULL;
|
||||
_cleanup_strv_free_ char **l = NULL;
|
||||
@@ -903,6 +893,16 @@ int efi_loader_get_features(uint64_t *ret) {
|
||||
|
||||
#endif
|
||||
|
||||
bool efi_loader_entry_name_valid(const char *s) {
|
||||
if (isempty(s))
|
||||
return false;
|
||||
|
||||
if (strlen(s) > FILENAME_MAX) /* Make sure entry names fit in filenames */
|
||||
return false;
|
||||
|
||||
return in_charset(s, ALPHANUMERICAL "-_.");
|
||||
}
|
||||
|
||||
char *efi_tilt_backslashes(char *s) {
|
||||
char *p;
|
||||
|
||||
|
||||
@@ -50,8 +50,6 @@ int efi_loader_get_boot_usec(usec_t *firmware, usec_t *loader);
|
||||
|
||||
int efi_loader_get_entries(char ***ret);
|
||||
|
||||
bool efi_loader_entry_name_valid(const char *s);
|
||||
|
||||
int efi_loader_get_features(uint64_t *ret);
|
||||
|
||||
#else
|
||||
@@ -132,14 +130,12 @@ static inline int efi_loader_get_entries(char ***ret) {
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
static inline bool efi_loader_entry_name_valid(const char *s) {
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline int efi_loader_get_features(uint64_t *ret) {
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
bool efi_loader_entry_name_valid(const char *s);
|
||||
|
||||
char *efi_tilt_backslashes(char *s);
|
||||
|
||||
Reference in New Issue
Block a user