From 01608a86ae513b512ec966845e86a8490dc502f8 Mon Sep 17 00:00:00 2001 From: laforge Date: Thu, 14 Mar 2002 11:35:58 +0000 Subject: Fix 'iptables -p !' bug (segfault when `!' used without argument) --- extensions/libipt_udp.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'extensions/libipt_udp.c') diff --git a/extensions/libipt_udp.c b/extensions/libipt_udp.c index 3db35b1..6b6b996 100644 --- a/extensions/libipt_udp.c +++ b/extensions/libipt_udp.c @@ -100,8 +100,7 @@ parse(int c, char **argv, int invert, unsigned int *flags, if (*flags & UDP_SRC_PORTS) exit_error(PARAMETER_PROBLEM, "Only one `--source-port' allowed"); - if (check_inverse(optarg, &invert)) - optind++; + check_inverse(optarg, &invert, &optind, 0); parse_udp_ports(argv[optind-1], udpinfo->spts); if (invert) udpinfo->invflags |= IPT_UDP_INV_SRCPT; @@ -113,8 +112,7 @@ parse(int c, char **argv, int invert, unsigned int *flags, if (*flags & UDP_DST_PORTS) exit_error(PARAMETER_PROBLEM, "Only one `--destination-port' allowed"); - if (check_inverse(optarg, &invert)) - optind++; + check_inverse(optarg, &invert, &optind, 0); parse_udp_ports(argv[optind-1], udpinfo->dpts); if (invert) udpinfo->invflags |= IPT_UDP_INV_DSTPT; -- cgit v1.2.3