bootspec: Fixup loading of local addons for UKIs
authorAdrian Vovk <adrianvovk@gmail.com>
Wed, 30 Oct 2024 19:38:49 +0000 (15:38 -0400)
committerAdrian Vovk <adrianvovk@gmail.com>
Tue, 26 Nov 2024 21:33:11 +0000 (16:33 -0500)
Follow-up for 59b3df9

src/shared/bootspec.c

index 49440dded1b50acb4818333f4d4fc54ee019c028..6672c69f57b70fc61e4d323074762e28ee7670d1 100644 (file)
@@ -1215,16 +1215,18 @@ static int boot_entries_find_unified(
                         if (r < 0)
                                 continue;
 
-                        if (!GREEDY_REALLOC0(config->entries, config->n_entries + 2))
+                        if (!GREEDY_REALLOC0(config->entries, config->n_entries + 1))
                                 return log_oom();
 
-                        if (boot_entry_load_unified(root, j, p, osrelease, profile, cmdline, config->entries + config->n_entries) < 0)
-                                continue;
+                        BootEntry *entry = config->entries + config->n_entries;
 
-                        config->n_entries++;
+                        if (boot_entry_load_unified(root, j, p, osrelease, profile, cmdline, entry) < 0)
+                                continue;
 
                         /* look for .efi.extra.d */
-                        (void) boot_entries_find_unified_local_addons(config, dirfd(d), de->d_name, full, config->entries + config->n_entries);
+                        (void) boot_entries_find_unified_local_addons(config, dirfd(d), de->d_name, full, entry);
+
+                        config->n_entries++;
                 }
         }