--- ipt-orig/iptables.c 2006-02-11 01:50:11.000000000 -0800 +++ ipt-new/iptables.c 2006-02-19 21:46:03.000000000 -0800 @@ -2125,6 +2125,11 @@ exit_error(PARAMETER_PROBLEM, "unexpected ! flag before --match"); + for (matchp = matches; matchp; matchp = matchp->next) { + if (strcmp(optarg, matchp->match->name) == 0) + exit_error(PARAMETER_PROBLEM, + "multiple matches of same type not supported"); + } m = find_match(optarg, LOAD_MUST_SUCCEED, &matches); size = IPT_ALIGN(sizeof(struct ipt_entry_match)) + m->size;