From 4646d656466b1f05bd765bbfb4d6d7bf1529bdbd Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 18 Aug 2023 16:33:21 +0200 Subject: json: use strtok_r() instead of strtok() strtok_r() is probably(?) everywhere available where we care. Use it. It is thread-safe, and libnftables shouldn't make assumptions about what other threads of the process are doing. Signed-off-by: Thomas Haller Signed-off-by: Florian Westphal --- src/json.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/json.c b/src/json.c index a119dfc4..366c0edf 100644 --- a/src/json.c +++ b/src/json.c @@ -69,8 +69,9 @@ static json_t *set_dtype_json(const struct expr *key) { char *namedup = xstrdup(key->dtype->name), *tok; json_t *root = NULL; + char *tok_safe; - tok = strtok(namedup, " ."); + tok = strtok_r(namedup, " .", &tok_safe); while (tok) { json_t *jtok = json_string(tok); if (!root) @@ -79,7 +80,7 @@ static json_t *set_dtype_json(const struct expr *key) root = json_pack("[o, o]", root, jtok); else json_array_append_new(root, jtok); - tok = strtok(NULL, " ."); + tok = strtok_r(NULL, " .", &tok_safe); } xfree(namedup); return root; -- cgit v1.2.3