summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2025-10-23 14:17:00 +0200
committerFlorian Westphal <fw@strlen.de>2025-10-23 14:54:05 +0200
commitb30ad0c25b7b4a289dd73e8da6fa101b66fbf0d7 (patch)
tree6f4dc5623ce03a4227d37a2001c6a19a7440999e /src
parentbc330914780345616edde25329e3c866ec279b42 (diff)
src: parser_json: fix format string bugs
After adding fmt attribute annotation: warning: format not a string literal and no format arguments [-Wformat-security] 131 | erec_queue(error(&loc, err->text), ctx->msgs); In function 'json_events_cb': warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type '__u32' {aka 'unsigned int'} [-Wformat=] Fix that up too. Fixes: 586ad210368b ("libnftables: Implement JSON parser") Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src')
-rw-r--r--src/parser_json.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/parser_json.c b/src/parser_json.c
index e7826250..7b4f3384 100644
--- a/src/parser_json.c
+++ b/src/parser_json.c
@@ -128,7 +128,7 @@ static void json_lib_error(struct json_ctx *ctx, json_error_t *err)
.last_column = err->column,
};
- erec_queue(error(&loc, err->text), ctx->msgs);
+ erec_queue(error(&loc, "%s", err->text), ctx->msgs);
}
__attribute__((format(printf, 2, 3)))
@@ -4558,6 +4558,7 @@ int nft_parse_json_filename(struct nft_ctx *nft, const char *filename,
return ret;
}
+__attribute__((format(printf, 2, 3)))
static int json_echo_error(struct netlink_mon_handler *monh,
const char *fmt, ...)
{
@@ -4630,7 +4631,7 @@ int json_events_cb(const struct nlmsghdr *nlh, struct netlink_mon_handler *monh)
json = seqnum_to_json(nlh->nlmsg_seq);
if (!json) {
- json_echo_error(monh, "No JSON command found with seqnum %lu\n",
+ json_echo_error(monh, "No JSON command found with seqnum %u\n",
nlh->nlmsg_seq);
return MNL_CB_OK;
}