From bb41f8879f5743d683ff3e66ef440b7b7bb5f6d2 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 21 Oct 2001 14:11:54 +0000 Subject: fix stupid bug introduced with too-lazy "-t" checking. --- ip6tables-restore.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'ip6tables-restore.c') diff --git a/ip6tables-restore.c b/ip6tables-restore.c index d0c778a3..415f1e4d 100644 --- a/ip6tables-restore.c +++ b/ip6tables-restore.c @@ -293,22 +293,6 @@ int main(int argc, char *argv[]) /* start command parsing at start of line */ parsestart = buffer; } - - /* prevent iptables-restore from crashing in do_command - * when someone passes a "-t" on the line. - * - Ben Reser */ - if (strstr(buffer, "-t")) { - exit_error(PARAMETER_PROBLEM, - "Line %u seems to have a " - " -t table option.\n", line); - exit(1); - } - if (!strlen((char *) &curtable)) { - exit_error(PARAMETER_PROBLEM, - "Line %u seems to to have a " - " zero-length table name.\n", line); - exit(1); - } add_argv(argv[0]); add_argv("-t"); @@ -358,6 +342,14 @@ int main(int argc, char *argv[]) strncpy(param_buffer, param_start, param_len); *(param_buffer+param_len) = '\0'; + + if (!strncmp(param_buffer, "-t", 3)) { + exit_error(PARAMETER_PROBLEM, + "Line %u seems to have a " + "-t table option.\n", line); + exit(1); + } + add_argv(param_buffer); param_start += param_len + 1; } else { -- cgit v1.2.3