From 6b8746477d4c72c66fca7966df0a9abea8223612 Mon Sep 17 00:00:00 2001 From: Magdalena Kasenberg Date: Wed, 3 Mar 2021 08:35:05 +0100 Subject: [PATCH] Replace strtok with strtok_r strtok is not thread safe. --- apps/btshell/src/parse.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/btshell/src/parse.c b/apps/btshell/src/parse.c index d8018c5cf..a2e2ae521 100644 --- a/apps/btshell/src/parse.c +++ b/apps/btshell/src/parse.c @@ -428,11 +428,12 @@ parse_arg_byte_stream_delim(char *sval, char *delims, int max_len, char *endptr; char *token; int i; + char *tok_ptr; i = 0; - for (token = strtok(sval, delims); + for (token = strtok_r(sval, delims, &tok_ptr); token != NULL; - token = strtok(NULL, delims)) { + token = strtok_r(NULL, delims, &tok_ptr)) { if (i >= max_len) { return EINVAL; @@ -618,12 +619,13 @@ parse_arg_all(int argc, char **argv) char *key; char *val; int i; + char *tok_ptr; cmd_num_args = 0; for (i = 0; i < argc; i++) { - key = strtok(argv[i], "="); - val = strtok(NULL, "="); + key = strtok_r(argv[i], "=", &tok_ptr); + val = strtok_r(NULL, "=", &tok_ptr); if (key != NULL && val != NULL) { if (strlen(key) == 0) {