summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ripd/interface.c
diff options
context:
space:
mode:
authorjca <jca@openbsd.org>2017-01-17 16:30:54 +0000
committerjca <jca@openbsd.org>2017-01-17 16:30:54 +0000
commitb38873a29ec2819ac536d9d8f60f452e50547180 (patch)
tree4cb362ef10e23a68f20222281b8278f82970199f /usr.sbin/ripd/interface.c
parentCompletely delete the buf field of struct html and all the buf*() (diff)
downloadwireguard-openbsd-b38873a29ec2819ac536d9d8f60f452e50547180.tar.xz
wireguard-openbsd-b38873a29ec2819ac536d9d8f60f452e50547180.zip
Keep track of dead peers instead of freeing them right away.
This mimics what ospfd does, and avoids a (mostly harmless) use-after-free. Delay suggested by claudio@, ok florian@
Diffstat (limited to 'usr.sbin/ripd/interface.c')
-rw-r--r--usr.sbin/ripd/interface.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/ripd/interface.c b/usr.sbin/ripd/interface.c
index 36c60fe2794..79b2424243d 100644
--- a/usr.sbin/ripd/interface.c
+++ b/usr.sbin/ripd/interface.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: interface.c,v 1.13 2015/09/27 17:32:36 stsp Exp $ */
+/* $OpenBSD: interface.c,v 1.14 2017/01/17 16:30:54 jca Exp $ */
/*
* Copyright (c) 2006 Michele Marchetto <mydecay@openbeer.it>
@@ -467,7 +467,7 @@ if_del(struct iface *iface)
/* clear lists etc */
while ((nbr = LIST_FIRST(&iface->nbr_list)) != NULL)
- nbr_act_del(nbr);
+ nbr_del(nbr);
/* XXX rq_list, rp_list */