diff options
author | 2017-01-17 16:30:54 +0000 | |
---|---|---|
committer | 2017-01-17 16:30:54 +0000 | |
commit | b38873a29ec2819ac536d9d8f60f452e50547180 (patch) | |
tree | 4cb362ef10e23a68f20222281b8278f82970199f /usr.sbin/ripd/interface.c | |
parent | Completely delete the buf field of struct html and all the buf*() (diff) | |
download | wireguard-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.c | 4 |
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 */ |