]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
json: use strtok_r() instead of strtok()
authorThomas Haller <thaller@redhat.com>
Fri, 18 Aug 2023 14:33:21 +0000 (16:33 +0200)
committerFlorian Westphal <fw@strlen.de>
Fri, 18 Aug 2023 14:50:21 +0000 (16:50 +0200)
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 <thaller@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
src/json.c

index a119dfc4f1eb41b6e6b91b885e19f6e650c96f44..366c0edf485dbb792bc030b1facb7565e2056a8f 100644 (file)
@@ -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;