From 9774ffa7c5f3cf5bcf760402491d1c6c900c007e Mon Sep 17 00:00:00 2001 From: yasuoka Date: Tue, 22 Mar 2016 02:27:20 +0000 Subject: Cleanup control sockets in control_cleanup(). Diff from Yuuichi Someya. --- usr.sbin/npppd/npppd/control.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'usr.sbin/npppd') diff --git a/usr.sbin/npppd/npppd/control.c b/usr.sbin/npppd/npppd/control.c index d576be8e1a7..e4374736de0 100644 --- a/usr.sbin/npppd/npppd/control.c +++ b/usr.sbin/npppd/npppd/control.c @@ -1,4 +1,4 @@ -/* $OpenBSD: control.c,v 1.5 2016/03/22 00:36:06 krw Exp $ */ +/* $OpenBSD: control.c,v 1.6 2016/03/22 02:27:20 yasuoka Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -131,8 +131,14 @@ control_listen(struct control_sock *cs) void control_cleanup(struct control_sock *cs) { + struct ctl_conn *c, *nc; + if (cs->cs_name == NULL) return; + + TAILQ_FOREACH_SAFE(c, &ctl_conns, entry, nc) + control_close(c->iev.ibuf.fd, cs); + event_del(&cs->cs_ev); event_del(&cs->cs_evt); (void)unlink(cs->cs_name); -- cgit v1.2.3-59-g8ed1b