[NETFILTER]: x_tables: fix xt_register_table error propagation
When xt_register_table fails the error is not properly propagated back. Based on patch by Lepton Wu <ytht.net@gmail.com>. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
bf7e851108
commit
da298d3a4f
@@ -1120,7 +1120,8 @@ int arpt_register_table(struct arpt_table *table,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (xt_register_table(table, &bootstrap, newinfo) != 0) {
|
ret = xt_register_table(table, &bootstrap, newinfo);
|
||||||
|
if (ret != 0) {
|
||||||
xt_free_table_info(newinfo);
|
xt_free_table_info(newinfo);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@@ -2113,7 +2113,8 @@ int ipt_register_table(struct xt_table *table, const struct ipt_replace *repl)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (xt_register_table(table, &bootstrap, newinfo) != 0) {
|
ret = xt_register_table(table, &bootstrap, newinfo);
|
||||||
|
if (ret != 0) {
|
||||||
xt_free_table_info(newinfo);
|
xt_free_table_info(newinfo);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@@ -1281,7 +1281,8 @@ int ip6t_register_table(struct xt_table *table,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (xt_register_table(table, &bootstrap, newinfo) != 0) {
|
ret = xt_register_table(table, &bootstrap, newinfo);
|
||||||
|
if (ret != 0) {
|
||||||
xt_free_table_info(newinfo);
|
xt_free_table_info(newinfo);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user