]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
netfilter: nf_nat: Fix memleak in nf_nat_init
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Sat, 9 Jan 2021 12:01:21 +0000 (20:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 19 Jan 2021 17:22:38 +0000 (18:22 +0100)
commit 869f4fdaf4ca7bb6e0d05caf6fa1108dddc346a7 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/netfilter/nf_nat_core.c

index 2268b10a9dcf844b8ce9d8d43c6b32e943553496..c31df6a76504d238b066f33b9a4d352910949992 100644 (file)
@@ -1068,6 +1068,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;
        }