summaryrefslogtreecommitdiffstats
path: root/net/netfilter
diff options
context:
space:
mode:
authorDinghao Liu <dinghao.liu@zju.edu.cn>2021-01-09 13:01:21 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2021-01-11 00:34:11 +0100
commit869f4fdaf4ca7bb6e0d05caf6fa1108dddc346a7 (patch)
tree94e517af001f36994064d62d1054c6f26c4ca1ac /net/netfilter
parentnetfilter: conntrack: fix reading nf_conntrack_buckets (diff)
downloadlinux-869f4fdaf4ca7bb6e0d05caf6fa1108dddc346a7.tar.xz
linux-869f4fdaf4ca7bb6e0d05caf6fa1108dddc346a7.zip
netfilter: nf_nat: Fix memleak in nf_nat_init
When register_pernet_subsys() fails, nf_nat_bysource should be freed just like when nf_ct_extend_register() fails. Fixes: 1cd472bf036ca ("netfilter: nf_nat: add nat hook register functions to nf_nat") Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> Acked-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter')
-rw-r--r--net/netfilter/nf_nat_core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/netfilter/nf_nat_core.c b/net/netfilter/nf_nat_core.c
index ea923f8cf9c4..b7c3c902290f 100644
--- a/net/netfilter/nf_nat_core.c
+++ b/net/netfilter/nf_nat_core.c
@@ -1174,6 +1174,7 @@ static int __init nf_nat_init(void)
ret = register_pernet_subsys(&nat_net_ops);
if (ret < 0) {
nf_ct_extend_unregister(&nat_extend);
+ kvfree(nf_nat_bysource);
return ret;
}