subdaemon: close unused fds when creating subdaemon.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2017-02-02 14:35:45 +10:30
parent 2f9b04b0d9
commit 13a30ff79c

View File

@ -78,6 +78,7 @@ static int subdaemon(const char *dir, const char *name,
if (childpid == 0) {
int fdnum = 3;
long max;
if (reqfd)
close(childreq[0]);
@ -103,6 +104,11 @@ static int subdaemon(const char *dir, const char *name,
goto child_errno_fail;
fdnum++;
}
/* Make (fairly!) sure all other fds are closed. */
max = sysconf(_SC_OPEN_MAX);
for (fd = fdnum; fd < max; fd++)
close(fd);
execl(path_join(NULL, dir, name), name, NULL);
child_errno_fail: