]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
boot: Drop const modifier for smbios_fields and fix smbios_info_done
authoranonymix007 <48598263+anonymix007@users.noreply.github.com>
Wed, 6 Nov 2024 20:02:02 +0000 (23:02 +0300)
committeranonymix007 <48598263+anonymix007@users.noreply.github.com>
Thu, 7 Nov 2024 19:52:29 +0000 (22:52 +0300)
src/boot/chid.c

index 50d840aea0424a83eeabd526faaa8c9be1ef5eba..18760fd598a9727bf7787e27ceee7a2e1c01c1e5 100644 (file)
@@ -49,7 +49,7 @@ static char16_t *smbios_to_hashable_string(const char *str) {
 
 /* This has to be in a struct due to _cleanup_ in populate_board_chids */
 typedef struct SmbiosInfo {
-        const char16_t *smbios_fields[_CHID_SMBIOS_FIELDS_MAX];
+        char16_t *smbios_fields[_CHID_SMBIOS_FIELDS_MAX];
 } SmbiosInfo;
 
 static void smbios_info_populate(SmbiosInfo *ret_info) {
@@ -71,7 +71,7 @@ static void smbios_info_populate(SmbiosInfo *ret_info) {
 
 static void smbios_info_done(SmbiosInfo *info) {
         FOREACH_ELEMENT(i, info->smbios_fields)
-                free(i);
+                free(*i);
 }
 
 static EFI_STATUS populate_board_chids(EFI_GUID ret_chids[static CHID_TYPES_MAX]) {
@@ -81,7 +81,7 @@ static EFI_STATUS populate_board_chids(EFI_GUID ret_chids[static CHID_TYPES_MAX]
                 return EFI_INVALID_PARAMETER;
 
         smbios_info_populate(&info);
-        chid_calculate(info.smbios_fields, ret_chids);
+        chid_calculate((const char16_t *const *) info.smbios_fields, ret_chids);
 
         return EFI_SUCCESS;
 }