diff options
author | Dinghao Liu <dinghao.liu@zju.edu.cn> | 2021-01-09 20:01:21 +0800 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-01-11 00:34:11 +0100 |
commit | 869f4fdaf4ca7bb6e0d05caf6fa1108dddc346a7 (patch) | |
tree | 94e517af001f36994064d62d1054c6f26c4ca1ac /net | |
parent | f6351c3f1c27c80535d76cac2299aec44c36291e (diff) | |
download | lwn-869f4fdaf4ca7bb6e0d05caf6fa1108dddc346a7.tar.gz lwn-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')
-rw-r--r-- | net/netfilter/nf_nat_core.c | 1 |
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; } |