From f0de0321e63d749dc5dd31921768b81e0c79eb9a Mon Sep 17 00:00:00 2001 From: dwmalone Date: Sat, 21 Oct 2000 09:43:12 +0000 Subject: Don't leak a file discriptor if a service we've called accept() for loops. Submitted by: Ian Dowse --- usr.sbin/inetd/inetd.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'usr.sbin') diff --git a/usr.sbin/inetd/inetd.c b/usr.sbin/inetd/inetd.c index 486348c..b1582f0 100644 --- a/usr.sbin/inetd/inetd.c +++ b/usr.sbin/inetd/inetd.c @@ -604,6 +604,9 @@ main(argc, argv, envp) syslog(LOG_ERR, "%s/%s server failing (looping), service terminated", sep->se_service, sep->se_proto); + if (sep->se_accept && + sep->se_socktype == SOCK_STREAM) + close(ctrl); close_sep(sep); sigsetmask(0L); if (!timingout) { -- cgit v1.1