]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Do not require a valid version when parsing sd-boot loader entries
authorVictor Westerhuis <victor@westerhu.is>
Sun, 14 Nov 2021 15:26:03 +0000 (16:26 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 22 May 2022 10:17:52 +0000 (12:17 +0200)
This fixes #20820

src/fundamental/bootspec-fundamental.c
src/shared/bootspec.c

index 89e29f598285e81dac8233dc850c06ec96a14813..c0138926a5881a88ae9eccef292a7e22778d73e9 100644 (file)
@@ -46,7 +46,7 @@ sd_bool bootspec_pick_name_version_sort_key(
         good_version = os_image_version ?: (os_version ?: (os_version_id ? : os_build_id));
         good_sort_key = os_image_id ?: os_id;
 
-        if (!good_name || !good_version)
+        if (!good_name)
                 return sd_false;
 
         if (ret_name)
index 09eb36eb56ca31c6f970fd579668fdaa933ea0c7..123db5957537610a6cf522b360d7f1e6b25f1060 100644 (file)
@@ -530,9 +530,11 @@ static int boot_entry_load_unified(
         if (!tmp.sort_key)
                 return log_oom();
 
-        tmp.version = strdup(good_version);
-        if (!tmp.version)
-                return log_oom();
+        if (good_version) {
+                tmp.version = strdup(good_version);
+                if (!tmp.version)
+                        return log_oom();
+        }
 
         *ret = tmp;
         tmp = (BootEntry) {};