From: Ken Hornstein Date: Tue, 23 Apr 2019 01:42:14 +0000 (-0400) Subject: Set the close-on-exec flag for sockets X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/558137c4d87a7fc0f9871a37ff53479e9ae00d0b?ds=sidebyside;hp=ee412cbd5c0667742a128fb4e1c89801528a9a48 Set the close-on-exec flag for sockets Since we no longer use closefds(), start cleaning up stray descriptors. Start by making sure that any network sockets we create have the close-on-exec flag set on them. --- diff --git a/sbr/client.c b/sbr/client.c index 572f8ee0..2bed9052 100644 --- a/sbr/client.c +++ b/sbr/client.c @@ -9,6 +9,7 @@ #include "client.h" #include "h/mts.h" #include "h/utils.h" +#include #include #include #include @@ -71,7 +72,15 @@ client (char *server, char *service, char *response, int len_response, } if (connect(sd, ai->ai_addr, ai->ai_addrlen) == 0) { + int flags; + freeaddrinfo(res); + + flags = fcntl(sd, F_GETFD, 0); + + if (flags != -1) + fcntl(sd, F_SETFD, flags | FD_CLOEXEC); + return sd; }