iptables: Fixing target reference update
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Fri, 23 Sep 2011 11:43:42 +0000 (14:43 +0300)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 29 Sep 2011 15:52:59 +0000 (17:52 +0200)
src/iptables.c

index 3f1a92a..2a2bc2a 100644 (file)
@@ -315,10 +315,10 @@ static int iptables_add_entry(struct connman_iptables *table,
        entry_before = before->data;
 
        /*
-        * We've just insterted a new entry. All references before it
+        * We've just appended/insterted a new entry. All references
         * should be bumped accordingly.
         */
-       for (list = table->entries; list != before; list = list->next) {
+       for (list = table->entries; list; list = list->next) {
                tmp = list->data;
 
                if (!is_jump(tmp))
@@ -326,7 +326,7 @@ static int iptables_add_entry(struct connman_iptables *table,
 
                t = (struct xt_standard_target *)ipt_get_target(tmp->entry);
 
-               if (t->verdict >= entry_before->offset)
+               if (t->verdict > entry_before->offset)
                        t->verdict += entry->next_offset;
        }