]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udevadm-test: check action string earlier
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 9 Mar 2019 01:20:42 +0000 (10:20 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 11 Mar 2019 18:49:53 +0000 (03:49 +0900)
The string will be checked later in device_new_from_synthetic_event(),
but let's check it earlier in parse_argv().

src/udev/udevadm-test.c

index 9c1784489a86602f554fe657998605f0cb9b6b76..da4c4cb87cc0e4725cba3ebd7fde684dfcdf62ad 100644 (file)
@@ -53,9 +53,17 @@ static int parse_argv(int argc, char *argv[]) {
 
         while ((c = getopt_long(argc, argv, "a:N:Vh", options, NULL)) >= 0)
                 switch (c) {
-                case 'a':
+                case 'a': {
+                        DeviceAction a;
+
+                        a = device_action_from_string(optarg);
+                        if (a < 0)
+                                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+                                                       "Invalid action '%s'", optarg);
+
                         arg_action = optarg;
                         break;
+                }
                 case 'N':
                         arg_resolve_name_timing = resolve_name_timing_from_string(optarg);
                         if (arg_resolve_name_timing < 0)