From 31bc47b8280fd9824c8ba914ea6bdba6e2a50986 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 4 Jun 2012 05:28:19 +0200 Subject: Close fds in parent process. --- honeypot.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'honeypot.c') diff --git a/honeypot.c b/honeypot.c index 8bff054..b42c776 100644 --- a/honeypot.c +++ b/honeypot.c @@ -500,6 +500,8 @@ int main(int argc, char *argv[]) if (!child) { char ipaddr[INET6_ADDRSTRLEN]; struct in6_addr *v6; + + close(listen_fd); memset(ipaddr, 0, sizeof(ipaddr)); if (connection_addr.ss_family == AF_INET6) { v6 = &(((struct sockaddr_in6 *)&connection_addr)->sin6_addr); @@ -511,7 +513,8 @@ int main(int argc, char *argv[]) inet_ntop(AF_INET, &(((struct sockaddr_in *)&connection_addr)->sin_addr), ipaddr, INET_ADDRSTRLEN); printf("Forked process %d for connection %s.\n", getpid(), ipaddr); handle_connection(connection_fd, ipaddr); - } + } else + close(connection_fd); } fclose(logfile); return 0; -- cgit v1.2.3-59-g8ed1b