summaryrefslogtreecommitdiffstats
path: root/net/ipv4/netfilter/ipt_MASQUERADE.c
diff options
context:
space:
mode:
authorTaehee Yoo2018-11-22 11:59:46 +0100
committerPablo Neira Ayuso2018-11-27 00:35:19 +0100
commit584eab291c67894cb17cc87544b9d086228ea70f (patch)
tree46e21a3a2d87392a04e3861c4a2a836085280b9f /net/ipv4/netfilter/ipt_MASQUERADE.c
parentnetfilter: ipv6: Preserve link scope traffic original oif (diff)
downloadkernel-qcow2-linux-584eab291c67894cb17cc87544b9d086228ea70f.tar.gz
kernel-qcow2-linux-584eab291c67894cb17cc87544b9d086228ea70f.tar.xz
kernel-qcow2-linux-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/ipv4/netfilter/ipt_MASQUERADE.c')
-rw-r--r--net/ipv4/netfilter/ipt_MASQUERADE.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/net/ipv4/netfilter/ipt_MASQUERADE.c b/net/ipv4/netfilter/ipt_MASQUERADE.c
index ce1512b02cb2..fd3f9e8a74da 100644
--- a/net/ipv4/netfilter/ipt_MASQUERADE.c
+++ b/net/ipv4/netfilter/ipt_MASQUERADE.c
@@ -81,9 +81,12 @@ static int __init masquerade_tg_init(void)
int ret;
ret = xt_register_target(&masquerade_tg_reg);
+ if (ret)
+ return ret;
- if (ret == 0)
- nf_nat_masquerade_ipv4_register_notifier();
+ ret = nf_nat_masquerade_ipv4_register_notifier();
+ if (ret)
+ xt_unregister_target(&masquerade_tg_reg);
return ret;
}