boot: Use strcmp16 for cpio sorting
This commit is contained in:
+2
-2
@@ -1656,8 +1656,8 @@ static void config_load_entries(
|
||||
}
|
||||
}
|
||||
|
||||
static INTN config_entry_compare(const ConfigEntry *a, const ConfigEntry *b) {
|
||||
INTN r;
|
||||
static int config_entry_compare(const ConfigEntry *a, const ConfigEntry *b) {
|
||||
int r;
|
||||
|
||||
assert(a);
|
||||
assert(b);
|
||||
|
||||
+1
-1
@@ -418,7 +418,7 @@ EFI_STATUS pack_cpio(
|
||||
|
||||
/* Now, sort the files we found, to make this uniform and stable (and to ensure the TPM measurements
|
||||
* are not dependent on read order) */
|
||||
sort_pointer_array((void**) items, n_items, (compare_pointer_func_t) StrCmp);
|
||||
sort_pointer_array((void**) items, n_items, (compare_pointer_func_t) strcmp16);
|
||||
|
||||
/* Generate the leading directory inodes right before adding the first files, to the
|
||||
* archive. Otherwise the cpio archive cannot be unpacked, since the leading dirs won't exist. */
|
||||
|
||||
+1
-1
@@ -113,7 +113,7 @@ EFI_STATUS log_oom(void);
|
||||
void print_at(UINTN x, UINTN y, UINTN attr, const CHAR16 *str);
|
||||
void clear_screen(UINTN attr);
|
||||
|
||||
typedef INTN (*compare_pointer_func_t)(const void *a, const void *b);
|
||||
typedef int (*compare_pointer_func_t)(const void *a, const void *b);
|
||||
void sort_pointer_array(void **array, UINTN n_members, compare_pointer_func_t compare);
|
||||
|
||||
EFI_STATUS get_file_info_harder(EFI_FILE *handle, EFI_FILE_INFO **ret, UINTN *ret_size);
|
||||
|
||||
Reference in New Issue
Block a user