From: Rusty Russell Date: Fri, 7 Jul 2000 02:17:46 +0000 (+0000) Subject: Don't reverse matches on command line (matters for -m limit). X-Git-Tag: v1.2.1~149 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9f60bbf47a254a6887982903c40205bc5da63e1e;p=thirdparty%2Fiptables.git Don't reverse matches on command line (matters for -m limit). --- diff --git a/iptables.c b/iptables.c index 6d62cabc..d4deff8e 100644 --- a/iptables.c +++ b/iptables.c @@ -916,6 +916,8 @@ merge_options(struct option *oldopts, struct option *newopts, void register_match(struct iptables_match *me) { + struct iptables_match **i; + if (strcmp(me->version, program_version) != 0) { fprintf(stderr, "%s: match `%s' v%s (I'm v%s).\n", program_name, me->name, me->version, program_version); @@ -934,9 +936,11 @@ register_match(struct iptables_match *me) exit(1); } - /* Prepend to list. */ - me->next = iptables_matches; - iptables_matches = me; + /* Append to list. */ + for (i = &iptables_matches; *i; i = &(*i)->next); + me->next = NULL; + *i = me; + me->m = NULL; me->mflags = 0;