From: Zbigniew Jędrzejewski-Szmek Date: Tue, 9 Feb 2021 15:07:19 +0000 (+0100) Subject: machinectl: write arg_* only after verifying the value X-Git-Tag: v248-rc1~166^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c706a52ac5f6b6e3d20d0a9e965b557dddbe0401;p=thirdparty%2Fsystemd.git machinectl: write arg_* only after verifying the value --- diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c index 1771abc0775..3d6048eaff7 100644 --- a/src/machine/machinectl.c +++ b/src/machine/machinectl.c @@ -2693,10 +2693,10 @@ static int parse_argv(int argc, char *argv[]) { return 0; } - arg_output = output_mode_from_string(optarg); - if (arg_output < 0) - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), - "Unknown output '%s'.", optarg); + r = output_mode_from_string(optarg); + if (r < 0) + return log_error_errno(r, "Unknown output '%s'.", optarg); + arg_output = r; if (OUTPUT_MODE_IS_JSON(arg_output)) arg_legend = false; @@ -2720,10 +2720,10 @@ static int parse_argv(int argc, char *argv[]) { return 0; } - arg_signal = signal_from_string(optarg); - if (arg_signal < 0) - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), - "Failed to parse signal string %s.", optarg); + r = signal_from_string(optarg); + if (r < 0) + return log_error_errno(r, "Failed to parse signal string %s.", optarg); + arg_signal = r; break; case ARG_NO_ASK_PASSWORD: @@ -2758,10 +2758,10 @@ static int parse_argv(int argc, char *argv[]) { return 0; } - arg_verify = import_verify_from_string(optarg); - if (arg_verify < 0) - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), - "Failed to parse --verify= setting: %s", optarg); + r = import_verify_from_string(optarg); + if (r < 0) + return log_error_errno(r, "Failed to parse --verify= setting: %s", optarg); + arg_verify = r; break; case ARG_FORCE: