path: root/iptables/xtables.c
diff options
authorPhil Sutter <>2020-02-21 14:55:52 +0100
committerPhil Sutter <>2020-02-24 12:04:30 +0100
commitd0446ab11182f6ca2adc486a124895f09a220c6e (patch)
tree4ef308fcb3c979fb672db1182c39ac838223dae8 /iptables/xtables.c
parent0f40a8bc49d3f7b815336199931a82f919f37c4e (diff)
xtables: Review nft_init()
Move common code into nft_init(), such as: * initial zeroing nft_handle fields * family ops lookup and assignment to 'ops' field * setting of 'family' field This requires minor adjustments in xtables_restore_main() so extra field initialization doesn't happen before nft_init() call. As a side-effect, this fixes segfaulting xtables-monitor binary when printing rules for trace event as in that code-path 'ops' field wasn't initialized. Signed-off-by: Phil Sutter <>
Diffstat (limited to 'iptables/xtables.c')
1 files changed, 0 insertions, 4 deletions
diff --git a/iptables/xtables.c b/iptables/xtables.c
index 3d75a1dd..8c2d21d4 100644
--- a/iptables/xtables.c
+++ b/iptables/xtables.c
@@ -571,10 +571,6 @@ void do_parse(struct nft_handle *h, int argc, char *argv[],
demand-load a protocol. */
opterr = 0;
- h->ops = nft_family_ops_lookup(h->family);
- if (h->ops == NULL)
- xtables_error(PARAMETER_PROBLEM, "Unknown family");
opts = xt_params->orig_opts;
while ((cs->c = getopt_long(argc, argv,