diff options
| author | Phil Sutter <phil@nwl.cc> | 2025-10-17 09:29:47 +0200 |
|---|---|---|
| committer | Phil Sutter <phil@nwl.cc> | 2025-10-23 22:48:51 +0200 |
| commit | 95618771d5e4c2bd4b0aa1dac458395ddd158f7f (patch) | |
| tree | 1bff91c30f6b1ebafd025c352f6526ed2e91ea8e /src | |
| parent | eb452ed7b658ce4eee7c8a647f86e074d0cf9189 (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.c | 4 |
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); |
