From 4c1b9f59d6eb2395c76c046f7096b7e8f8b53760 Mon Sep 17 00:00:00 2001 From: Victor Westerhuis Date: Sun, 14 Nov 2021 16:26:03 +0100 Subject: [PATCH] Do not require a valid version when parsing sd-boot loader entries This fixes #20820 (cherry picked from commit 87c7779599ade84df7934c563adb7fe550c871f7) Gbp-Pq: Name Do-not-require-a-valid-version-when-parsing-sd-boot-loade.patch --- src/fundamental/bootspec-fundamental.c | 2 +- src/shared/bootspec.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/fundamental/bootspec-fundamental.c b/src/fundamental/bootspec-fundamental.c index 89e29f59..c0138926 100644 --- a/src/fundamental/bootspec-fundamental.c +++ b/src/fundamental/bootspec-fundamental.c @@ -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) diff --git a/src/shared/bootspec.c b/src/shared/bootspec.c index 09eb36eb..123db595 100644 --- a/src/shared/bootspec.c +++ b/src/shared/bootspec.c @@ -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) {}; -- 2.30.2