diff options
author | Bart De Schuymer <bdschuym@pandora.be> | 2005-08-30 21:51:09 +0000 |
---|---|---|
committer | Bart De Schuymer <bdschuym@pandora.be> | 2005-08-30 21:51:09 +0000 |
commit | 92acb27395c3907a764617dfa91aad93e1a450fd (patch) | |
tree | 9fcf6d547b4d6bb4d56fa46329b7345610788d81 /userspace/ebtables2 | |
parent | 8ad9af76c8678b754b2a266b3e939121d18178ce (diff) |
bugfix
Diffstat (limited to 'userspace/ebtables2')
-rw-r--r-- | userspace/ebtables2/libebtc.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/userspace/ebtables2/libebtc.c b/userspace/ebtables2/libebtc.c index ee63175..c528352 100644 --- a/userspace/ebtables2/libebtc.c +++ b/userspace/ebtables2/libebtc.c @@ -590,17 +590,17 @@ void ebt_add_rule(struct ebt_u_replace *replace, struct ebt_u_entry *new_entry, ebt_print_error("The specified rule number is incorrect"); return; } - /* We're adding one rule */ - replace->nentries++; - entries->nentries++; /* Go to the right position in the chain */ - if (rule_nr == entries->nentries-1) + if (rule_nr == entries->nentries) u_e = entries->entries; else { u_e = entries->entries->next; for (i = 0; i < rule_nr; i++) u_e = u_e->next; } + /* We're adding one rule */ + replace->nentries++; + entries->nentries++; /* Insert the rule */ new_entry->next = u_e; new_entry->prev = u_e->prev; @@ -620,7 +620,7 @@ void ebt_add_rule(struct ebt_u_replace *replace, struct ebt_u_entry *new_entry, if (i == replace->num_chains) cc = replace->cc; else - cc = replace->chains[i]->entries->cc; + cc = replace->chains[i]->entries->next->cc; } else cc = new_entry->next->cc; new_cc->next = cc; |