diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c index de801ceb37..f04971ebd6 100644 --- a/src/boot/efi/boot.c +++ b/src/boot/efi/boot.c @@ -1117,9 +1117,9 @@ static void config_add_entry(Config *config, ConfigEntry *entry) { config->entries[config->n_entries++] = entry; } -static void config_entry_free(ConfigEntry *entry) { +static ConfigEntry* config_entry_free(ConfigEntry *entry) { if (!entry) - return; + return NULL; free(entry->id); free(entry->title_show); @@ -1134,12 +1134,11 @@ static void config_entry_free(ConfigEntry *entry) { free(entry->path); free(entry->current_name); free(entry->next_name); - free(entry); + + return mfree(entry); } -static void config_entry_freep(ConfigEntry **entry) { - config_entry_free(*entry); -} +DEFINE_TRIVIAL_CLEANUP_FUNC(ConfigEntry *, config_entry_free); static char *line_get_key_value( char *content,