From: Zbigniew Jędrzejewski-Szmek Date: Thu, 23 Apr 2026 19:43:19 +0000 (+0200) Subject: various: fix duplicated logging from parse_path_argument X-Git-Tag: v261-rc1~169^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F41795%2Fhead;p=thirdparty%2Fsystemd.git various: fix duplicated logging from parse_path_argument As pointed out in review, parse_path_argument can fail for non-oom reasons. But the function already logs, so the correct thing to do is to just propagate the error. --- diff --git a/src/bootctl/bootctl-install.c b/src/bootctl/bootctl-install.c index 20958d0b0bc..2ad76264fa3 100644 --- a/src/bootctl/bootctl-install.c +++ b/src/bootctl/bootctl-install.c @@ -1509,7 +1509,7 @@ static int load_secure_boot_auto_enroll( if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key( diff --git a/src/home/homectl.c b/src/home/homectl.c index 80ee6e2155a..e9161dfb751 100644 --- a/src/home/homectl.c +++ b/src/home/homectl.c @@ -4648,7 +4648,7 @@ static int parse_argv(int argc, char *argv[]) { if (!eq) { /* --blob=/some/path replaces the blob dir */ r = parse_path_argument(optarg, /* suppress_root= */ false, &arg_blob_dir); if (r < 0) - return log_error_errno(r, "Failed to parse path %s: %m", optarg); + return r; break; } @@ -4664,7 +4664,7 @@ static int parse_argv(int argc, char *argv[]) { r = parse_path_argument(eq + 1, /* suppress_root= */ false, &path); if (r < 0) - return log_error_errno(r, "Failed to parse path %s: %m", eq + 1); + return r; } else { const char *well_known_filename = c == ARG_AVATAR ? "avatar" : @@ -4678,7 +4678,7 @@ static int parse_argv(int argc, char *argv[]) { r = parse_path_argument(optarg, /* suppress_root= */ false, &path); if (r < 0) - return log_error_errno(r, "Failed to parse path %s: %m", optarg); + return r; } if (path) { diff --git a/src/kernel-install/kernel-install.c b/src/kernel-install/kernel-install.c index 0bd4e84da0a..27e1a7426e4 100644 --- a/src/kernel-install/kernel-install.c +++ b/src/kernel-install/kernel-install.c @@ -1604,13 +1604,13 @@ static int parse_argv(int argc, char *argv[], char ***remaining_args) { OPTION_LONG("esp-path", "PATH", "Path to the EFI System Partition (ESP)"): r = parse_path_argument(opts.arg, /* suppress_root= */ false, &arg_esp_path); if (r < 0) - return log_oom(); + return r; break; OPTION_LONG("boot-path", "PATH", "Path to the $BOOT partition"): r = parse_path_argument(opts.arg, /* suppress_root= */ false, &arg_xbootldr_path); if (r < 0) - return log_oom(); + return r; break; OPTION_COMMON_MAKE_ENTRY_DIRECTORY: diff --git a/src/keyutil/keyutil.c b/src/keyutil/keyutil.c index 2a66fabb195..abdec1591d0 100644 --- a/src/keyutil/keyutil.c +++ b/src/keyutil/keyutil.c @@ -193,7 +193,7 @@ static int verb_validate(int argc, char *argv[], uintptr_t _data, void *userdata if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key( @@ -259,7 +259,7 @@ static int verb_extract_public(int argc, char *argv[], uintptr_t _data, void *us if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key( diff --git a/src/measure/measure-tool.c b/src/measure/measure-tool.c index eeb001f3fed..d5bb5bea235 100644 --- a/src/measure/measure-tool.c +++ b/src/measure/measure-tool.c @@ -960,7 +960,7 @@ static int build_policy_digest(bool sign) { if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key( diff --git a/src/sbsign/sbsign.c b/src/sbsign/sbsign.c index f5a88b2849f..9d163624a49 100644 --- a/src/sbsign/sbsign.c +++ b/src/sbsign/sbsign.c @@ -461,7 +461,7 @@ static int verb_sign(int argc, char *argv[], uintptr_t _data, void *userdata) { if (arg_private_key_source_type == OPENSSL_KEY_SOURCE_FILE) { r = parse_path_argument(arg_private_key, /* suppress_root= */ false, &arg_private_key); if (r < 0) - return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key); + return r; } r = openssl_load_private_key(