Commit 90d47db4 authored by Dmitry Mishin's avatar Dmitry Mishin Committed by David S. Miller

[NETFILTER]: x_tables: small check_entry & module_refcount cleanup

While standard_target has target->me == NULL, module_put() should be
called for it as for others, because there were try_module_get() before.
Signed-off-by: default avatarDmitry Mishin <dim@openvz.org>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9123de2c
...@@ -485,7 +485,7 @@ static inline int check_entry(struct arpt_entry *e, const char *name, unsigned i ...@@ -485,7 +485,7 @@ static inline int check_entry(struct arpt_entry *e, const char *name, unsigned i
if (t->u.kernel.target == &arpt_standard_target) { if (t->u.kernel.target == &arpt_standard_target) {
if (!standard_check(t, size)) { if (!standard_check(t, size)) {
ret = -EINVAL; ret = -EINVAL;
goto out; goto err;
} }
} else if (t->u.kernel.target->checkentry } else if (t->u.kernel.target->checkentry
&& !t->u.kernel.target->checkentry(name, e, target, t->data, && !t->u.kernel.target->checkentry(name, e, target, t->data,
......
...@@ -573,7 +573,7 @@ check_entry(struct ipt_entry *e, const char *name, unsigned int size, ...@@ -573,7 +573,7 @@ check_entry(struct ipt_entry *e, const char *name, unsigned int size,
if (t->u.kernel.target == &ipt_standard_target) { if (t->u.kernel.target == &ipt_standard_target) {
if (!standard_check(t, size)) { if (!standard_check(t, size)) {
ret = -EINVAL; ret = -EINVAL;
goto cleanup_matches; goto err;
} }
} else if (t->u.kernel.target->checkentry } else if (t->u.kernel.target->checkentry
&& !t->u.kernel.target->checkentry(name, e, target, t->data, && !t->u.kernel.target->checkentry(name, e, target, t->data,
......
...@@ -610,7 +610,7 @@ check_entry(struct ip6t_entry *e, const char *name, unsigned int size, ...@@ -610,7 +610,7 @@ check_entry(struct ip6t_entry *e, const char *name, unsigned int size,
if (t->u.kernel.target == &ip6t_standard_target) { if (t->u.kernel.target == &ip6t_standard_target) {
if (!standard_check(t, size)) { if (!standard_check(t, size)) {
ret = -EINVAL; ret = -EINVAL;
goto cleanup_matches; goto err;
} }
} else if (t->u.kernel.target->checkentry } else if (t->u.kernel.target->checkentry
&& !t->u.kernel.target->checkentry(name, e, target, t->data, && !t->u.kernel.target->checkentry(name, e, target, t->data,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment