summaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorFlorian Obser <florian@cvs.openbsd.org>2019-06-27 09:48:16 +0000
committerFlorian Obser <florian@cvs.openbsd.org>2019-06-27 09:48:16 +0000
commit7beb23dc86ff25032ccd398a4352fd52136db354 (patch)
tree51d5462835832caee214f8689aa7ac11c787ad36 /sbin
parent42095f2136872add3051c46efa677cacb83ab138 (diff)
let free_address_proposal() handle the LIST_REMOVE, like free_dfr_proposal()
Diffstat (limited to 'sbin')
-rw-r--r--sbin/slaacd/engine.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sbin/slaacd/engine.c b/sbin/slaacd/engine.c
index f18c53468bd..1dbc33f0422 100644
--- a/sbin/slaacd/engine.c
+++ b/sbin/slaacd/engine.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: engine.c,v 1.36 2019/06/27 09:47:16 florian Exp $ */
+/* $OpenBSD: engine.c,v 1.37 2019/06/27 09:48:15 florian Exp $ */
/*
* Copyright (c) 2017 Florian Obser <florian@openbsd.org>
@@ -530,7 +530,6 @@ engine_dispatch_frontend(int fd, short event, void *bula)
if (addr_proposal) {
/* XXX should we inform netcfgd? */
- LIST_REMOVE(addr_proposal, entries);
free_address_proposal(addr_proposal);
}
@@ -1057,7 +1056,6 @@ remove_slaacd_iface(uint32_t if_index)
/* XXX inform netcfgd? */
while(!LIST_EMPTY(&iface->addr_proposals)) {
addr_proposal = LIST_FIRST(&iface->addr_proposals);
- LIST_REMOVE(addr_proposal, entries);
free_address_proposal(addr_proposal);
}
while(!LIST_EMPTY(&iface->dfr_proposals)) {
@@ -2000,6 +1998,7 @@ free_address_proposal(struct address_proposal *addr_proposal)
if (addr_proposal == NULL)
return;
+ LIST_REMOVE(addr_proposal, entries);
evtimer_del(&addr_proposal->timer);
free(addr_proposal);
}
@@ -2183,7 +2182,6 @@ address_proposal_timeout(int fd, short events, void *arg)
} else {
log_debug("%s: giving up, no response to proposal",
__func__);
- LIST_REMOVE(addr_proposal, entries);
free_address_proposal(addr_proposal);
}
break;
@@ -2211,7 +2209,6 @@ address_proposal_timeout(int fd, short events, void *arg)
if (real_lifetime(&addr_proposal->uptime,
addr_proposal->vltime) == 0) {
evtimer_del(&addr_proposal->timer);
- LIST_REMOVE(addr_proposal, entries);
free_address_proposal(addr_proposal);
log_debug("%s: removing address proposal", __func__);
break;