bootspec: Fixup memory leak

This would previously leak memory: the array was deleted but contents
inside of the array were not
This commit is contained in:
Adrian Vovk
2024-11-26 16:33:10 -05:00
parent 5a10a9a3bb
commit e2501a851e
2 changed files with 5 additions and 4 deletions
+5 -2
View File
@@ -44,6 +44,8 @@ static const char* const boot_entry_type_json_table[_BOOT_ENTRY_TYPE_MAX] = {
DEFINE_STRING_TABLE_LOOKUP_TO_STRING(boot_entry_type_json, BootEntryType);
static void boot_entry_addons_done(BootEntryAddons *addons);
static void boot_entry_free(BootEntry *entry) {
assert(entry);
@@ -59,7 +61,7 @@ static void boot_entry_free(BootEntry *entry) {
free(entry->machine_id);
free(entry->architecture);
strv_free(entry->options);
free(entry->local_addons.items);
boot_entry_addons_done(&entry->local_addons);
free(entry->kernel);
free(entry->efi);
strv_free(entry->initrd);
@@ -426,7 +428,8 @@ void boot_config_free(BootConfig *config) {
FOREACH_ARRAY(i, config->entries, config->n_entries)
boot_entry_free(i);
free(config->entries);
free(config->global_addons.items);
boot_entry_addons_done(&config->global_addons);
set_free(config->inodes_seen);
}
-2
View File
@@ -31,8 +31,6 @@ typedef struct BootEntryAddons {
size_t n_items;
} BootEntryAddons;
BootEntryAddon* boot_entry_addon_free(BootEntryAddon *t);
typedef struct BootEntry {
BootEntryType type;
bool reported_by_loader;