]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
uuidd: use pid_t type when referring to process id
authorSami Kerola <kerolasa@iki.fi>
Fri, 20 Nov 2020 22:05:46 +0000 (22:05 +0000)
committerSami Kerola <kerolasa@iki.fi>
Mon, 23 Nov 2020 21:34:39 +0000 (21:34 +0000)
Earlier use of a variable that holds switch enabling boolean to hold process
id was a little bit strange, and not exactly correct.  An int should be good
enough to hold any pid, but it is better to be precise and use the type that
is meant for the job.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
misc-utils/uuidd.c

index ef95946e23be229c108f6034a63bab913af914c7..8328bd57e7978f3d8295b9f4acb74c1b42e6ab8c 100644 (file)
@@ -586,7 +586,7 @@ int main(int argc, char **argv)
                        uuidd_cxt.debug = 1;
                        break;
                case 'k':
-                       do_kill++;
+                       do_kill = 1;
                        break;
                case 'n':
                        num = strtou32_or_err(optarg,
@@ -694,17 +694,19 @@ int main(int argc, char **argv)
 
        if (do_kill) {
                ret = call_daemon(socket_path, UUIDD_OP_GETPID, buf, sizeof(buf), 0, NULL);
-               if ((ret > 0) && ((do_kill = atoi((char *) buf)) > 0)) {
-                       ret = kill(do_kill, SIGTERM);
+               if (0 < ret) {
+                       pid_t pid;
+
+                       pid = (pid_t)strtou32_or_err(buf, _("failed to parse pid"));
+                       ret = kill(pid, SIGTERM);
                        if (ret < 0) {
                                if (!uuidd_cxt.quiet)
                                        warn(_("couldn't kill uuidd running "
-                                                 "at pid %d"), do_kill);
+                                                 "at pid %d"), pid);
                                return EXIT_FAILURE;
                        }
                        if (!uuidd_cxt.quiet)
-                               printf(_("Killed uuidd running at pid %d.\n"),
-                                      do_kill);
+                               printf(_("Killed uuidd running at pid %d.\n"), pid);
                }
                return EXIT_SUCCESS;
        }