]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
netlink: Avoid memleak in error path of netlink_delinearize_chain()
authorPhil Sutter <phil@nwl.cc>
Fri, 11 Jun 2021 16:32:13 +0000 (18:32 +0200)
committerPhil Sutter <phil@nwl.cc>
Mon, 14 Jun 2021 11:31:07 +0000 (13:31 +0200)
If parsing udata fails, 'chain' has to be freed before returning to
caller.

Fixes: 702ac2b72c0e8 ("src: add comment support for chains")
Signed-off-by: Phil Sutter <phil@nwl.cc>
src/netlink.c

index 41cce3379ca5021a299bc20d89e1b6b394231709..1bbdf98bd2ee25f063047b3a33326c65180849ff 100644 (file)
@@ -599,6 +599,7 @@ struct chain *netlink_delinearize_chain(struct netlink_ctx *ctx,
                udata = nftnl_chain_get_data(nlc, NFTNL_CHAIN_USERDATA, &ulen);
                if (nftnl_udata_parse(udata, ulen, chain_parse_udata_cb, ud) < 0) {
                        netlink_io_error(ctx, NULL, "Cannot parse userdata");
+                       chain_free(chain);
                        return NULL;
                }
                if (ud[NFTNL_UDATA_CHAIN_COMMENT])