From b81708fda5436e8bcd2fb2871b5f824f8f536406 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Fri, 29 Jun 2018 00:15:25 +0200 Subject: ebtables-nft: don't crash on ebtables -X Signed-off-by: Florian Westphal --- iptables/xtables-eb.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'iptables/xtables-eb.c') diff --git a/iptables/xtables-eb.c b/iptables/xtables-eb.c index e22181ee..9460a91a 100644 --- a/iptables/xtables-eb.c +++ b/iptables/xtables-eb.c @@ -208,6 +208,9 @@ delete_entry(struct nft_handle *h, static int get_current_chain(const char *chain) { + if (!chain) + return -1; + if (strcmp(chain, "PREROUTING") == 0) return NF_BR_PRE_ROUTING; else if (strcmp(chain, "INPUT") == 0) @@ -823,13 +826,12 @@ int do_commandeb(struct nft_handle *h, int argc, char *argv[], char **table) "Multiple commands are not allowed"); command = c; + if (optarg && (optarg[0] == '-' || !strcmp(optarg, "!"))) + xtables_error(PARAMETER_PROBLEM, "No chain name specified"); chain = optarg; selected_chain = get_current_chain(chain); flags |= OPT_COMMAND; - /*if (!(replace->flags & OPT_KERNELDATA)) - ebt_get_kernel_table(replace, 0);*/ - /*if (optarg && (optarg[0] == '-' || !strcmp(optarg, "!"))) - ebt_print_error2("No chain name specified");*/ + if (c == 'N') { ret = nft_chain_user_add(h, chain, *table); break; -- cgit v1.2.3