]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Now that ipv6 has it's own eloop, ensure that we clear any interface
authorRoy Marples <roy@marples.name>
Sun, 18 Jan 2015 20:46:43 +0000 (20:46 +0000)
committerRoy Marples <roy@marples.name>
Sun, 18 Jan 2015 20:46:43 +0000 (20:46 +0000)
timeout when freeing the IPv6 state.

ipv6.c

diff --git a/ipv6.c b/ipv6.c
index 33650f15316f257b7fd5134505f5cbecf18d5bd1..c4a06f7f0c41bf89c11552c223367175637e1f22 100644 (file)
--- a/ipv6.c
+++ b/ipv6.c
@@ -1259,6 +1259,7 @@ ipv6_free(struct interface *ifp)
                        }
                        free(state);
                        ifp->if_data[IF_DATA_IPV6] = NULL;
+                       eloop_timeout_delete(ifp->ctx->eloop, NULL, ifp);
                }
        }
 }
@@ -1379,9 +1380,6 @@ ipv6_gentempifid(struct interface *ifp)
        int retry;
 
        state = IPV6_STATE(ifp);
-       if (state == NULL)
-               return;
-
        retry = 0;
        if (memcmp(nullid, state->randomseed0, sizeof(nullid)) == 0) {
                uint32_t r;