Fix RA spam filter logic
authorSteven Barth <steven@midlink.org>
Tue, 29 Oct 2013 13:52:16 +0000 (14:52 +0100)
committerSteven Barth <steven@midlink.org>
Tue, 29 Oct 2013 13:52:16 +0000 (14:52 +0100)
src/odhcp6c.c

index 20639352fde8979b00bc5aadfda2db14ce4e4028..506239d2205824b7ae70fc050f0f44f1843737b1 100644 (file)
@@ -466,7 +466,6 @@ bool odhcp6c_update_entry_safe(enum odhcp6c_state state, struct odhcp6c_entry *n
        size_t len;
        struct odhcp6c_entry *x = odhcp6c_find_entry(state, new);
        struct odhcp6c_entry *start = odhcp6c_get_state(state, &len);
-       bool changed = true;
 
        if (x && x->valid > new->valid && new->valid < safe)
                new->valid = safe;
@@ -477,7 +476,7 @@ bool odhcp6c_update_entry_safe(enum odhcp6c_state state, struct odhcp6c_entry *n
                                        new->preferred >= x->preferred &&
                                        new->preferred - x->preferred < 60 &&
                                        x->class == new->class)
-                               changed = false;
+                               return false;
                        x->valid = new->valid;
                        x->preferred = new->preferred;
                        x->t1 = new->t1;
@@ -489,7 +488,7 @@ bool odhcp6c_update_entry_safe(enum odhcp6c_state state, struct odhcp6c_entry *n
        } else if (x) {
                odhcp6c_remove_state(state, (x - start) * sizeof(*x), sizeof(*x));
        }
-       return changed;
+       return true;
 }