]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
netlink: Zero nft_data_linearize objects when populating
authorPhil Sutter <phil@nwl.cc>
Fri, 17 Oct 2025 07:29:47 +0000 (09:29 +0200)
committerPhil Sutter <phil@nwl.cc>
Thu, 23 Oct 2025 20:48:51 +0000 (22:48 +0200)
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>
src/netlink.c

index 7882381ebd389eda47019006612254c13b5e5964..3258f9ab9056e8b1fd486399cf1e6e8963b9b27d 100644 (file)
@@ -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);