aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/netfilter/ip6t_MASQUERADE.c
diff options
context:
space:
mode:
authorTaehee Yoo <ap420073@gmail.com>2018-11-22 19:59:46 +0900
committerPablo Neira Ayuso <pablo@netfilter.org>2018-11-27 00:35:19 +0100
commit584eab291c67894cb17cc87544b9d086228ea70f (patch)
tree46e21a3a2d87392a04e3861c4a2a836085280b9f /net/ipv6/netfilter/ip6t_MASQUERADE.c
parentnetfilter: ipv6: Preserve link scope traffic original oif (diff)
downloadlinux-dev-584eab291c67894cb17cc87544b9d086228ea70f.tar.xz
linux-dev-584eab291c67894cb17cc87544b9d086228ea70f.zip
netfilter: add missing error handling code for register functions
register_{netdevice/inetaddr/inet6addr}_notifier may return an error value, this patch adds the code to handle these error paths. Signed-off-by: Taehee Yoo <ap420073@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/ipv6/netfilter/ip6t_MASQUERADE.c')
-rw-r--r--net/ipv6/netfilter/ip6t_MASQUERADE.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/ipv6/netfilter/ip6t_MASQUERADE.c b/net/ipv6/netfilter/ip6t_MASQUERADE.c
index 491f808e356a..29c7f1915a96 100644
--- a/net/ipv6/netfilter/ip6t_MASQUERADE.c
+++ b/net/ipv6/netfilter/ip6t_MASQUERADE.c
@@ -58,8 +58,12 @@ static int __init masquerade_tg6_init(void)
int err;
err = xt_register_target(&masquerade_tg6_reg);
- if (err == 0)
- nf_nat_masquerade_ipv6_register_notifier();
+ if (err)
+ return err;
+
+ err = nf_nat_masquerade_ipv6_register_notifier();
+ if (err)
+ xt_unregister_target(&masquerade_tg6_reg);
return err;
}