summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortedu <tedu@openbsd.org>2003-01-30 23:41:14 +0000
committertedu <tedu@openbsd.org>2003-01-30 23:41:14 +0000
commiteb8d996f308d723a39c172484fdf1914546cb69d (patch)
tree364f156651b7d1614a22c5f57cb78f87d35fe696
parentsync (diff)
downloadwireguard-openbsd-eb8d996f308d723a39c172484fdf1914546cb69d.tar.xz
wireguard-openbsd-eb8d996f308d723a39c172484fdf1914546cb69d.zip
when an interface is no longer valid, remove it from the protocol list
ok deraadt@ millert@
-rw-r--r--usr.sbin/dhcp/common/dispatch.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/dhcp/common/dispatch.c b/usr.sbin/dhcp/common/dispatch.c
index c22df0a495f..c830a5d6f34 100644
--- a/usr.sbin/dhcp/common/dispatch.c
+++ b/usr.sbin/dhcp/common/dispatch.c
@@ -449,10 +449,13 @@ void got_one (l)
if ((! interface_status(ip))
|| (ip->noifmedia && ip->errors > 20)) {
/* our interface has gone away. */
- warn("Interface %s appears to no longer be valid",
+ warn("Interface %s no longer appears valid.",
ip->name);
ip->dead = 1;
interfaces_invalidated = 1;
+ close(l->fd);
+ remove_protocol(l);
+ free(ip);
}
return;
}