summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2025-10-17 09:29:47 +0200
committerPhil Sutter <phil@nwl.cc>2025-10-23 22:48:51 +0200
commit95618771d5e4c2bd4b0aa1dac458395ddd158f7f (patch)
tree1bff91c30f6b1ebafd025c352f6526ed2e91ea8e /src
parenteb452ed7b658ce4eee7c8a647f86e074d0cf9189 (diff)
netlink: Zero nft_data_linearize objects when populating
Callers of netlink_gen_{key,data}() pass an uninitialized auto-variable, avoid misinterpreting garbage in fields "left blank". Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'src')
-rw-r--r--src/netlink.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/netlink.c b/src/netlink.c
index 7882381e..3258f9ab 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -563,6 +563,8 @@ static void netlink_gen_prefix(const struct expr *expr,
static void netlink_gen_key(const struct expr *expr,
struct nft_data_linearize *data)
{
+ memset(data, 0, sizeof(*data));
+
switch (expr->etype) {
case EXPR_VALUE:
return netlink_gen_constant_data(expr, data);
@@ -580,6 +582,8 @@ static void netlink_gen_key(const struct expr *expr,
static void __netlink_gen_data(const struct expr *expr,
struct nft_data_linearize *data, bool expand)
{
+ memset(data, 0, sizeof(*data));
+
switch (expr->etype) {
case EXPR_VALUE:
return netlink_gen_constant_data(expr, data);