]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
machinectl: write arg_* only after verifying the value
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 9 Feb 2021 15:07:19 +0000 (16:07 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 10 Feb 2021 13:47:00 +0000 (14:47 +0100)
src/machine/machinectl.c

index 1771abc07759fd661e8abcda4abe347449c9fdd9..3d6048eaff7c979faffc89cb043e8ea3534bd3ba 100644 (file)
@@ -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: