Use MT-safe strtok_r in spawn viewer library helper
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 3 Feb 2021 15:26:03 +0000 (10:26 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 3 Feb 2021 19:27:15 +0000 (14:27 -0500)
Even though its current callers are all in single-threaded context
(lttng view and lttng-crash commands), it is a good practice to use
MT-safe APIs in library functions, in case those are ever used within a
multithreaded context in the future.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: If419fd24b3bf6532f2c75a728a9ec395e365c626

src/common/spawn-viewer.c

index 7818865035dd4eebdcee650b5cf9f7701198b8cc..1d668157f729e11e47f5fb199976c0b0a0b771d1 100644 (file)
@@ -69,7 +69,7 @@ static char **alloc_argv_from_user_opts(char *opts, const char *trace_path)
 {
        int i = 0, ignore_space = 0;
        unsigned int num_opts = 1;
-       char **argv, *token = opts;
+       char **argv, *token = opts, *saveptr;
 
        /* Count number of arguments. */
        do {
@@ -91,13 +91,13 @@ static char **alloc_argv_from_user_opts(char *opts, const char *trace_path)
                goto error;
        }
 
-       token = strtok(opts, " ");
+       token = strtok_r(opts, " ", &saveptr);
        while (token != NULL) {
                argv[i] = strdup(token);
                if (argv[i] == NULL) {
                        goto error;
                }
-               token = strtok(NULL, " ");
+               token = strtok_r(NULL, " ", &saveptr);
                i++;
        }
 
This page took 0.025495 seconds and 4 git commands to generate.