From f4ed8e1224eb396f71a1c921ee2489a677deaa0d Mon Sep 17 00:00:00 2001 From: midipix Date: Sat, 18 Nov 2017 19:09:40 -0500 Subject: process spawning and forking: use dup2, not dup, in the child process. --- src/helper/slbt_dump_machine.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/helper/slbt_dump_machine.c') diff --git a/src/helper/slbt_dump_machine.c b/src/helper/slbt_dump_machine.c index fe453e6..7f05790 100644 --- a/src/helper/slbt_dump_machine.c +++ b/src/helper/slbt_dump_machine.c @@ -33,14 +33,11 @@ static void slbt_dump_machine_child( argv[2] = 0; close(fd[0]); - close(0); - close(1); - if ((fd[0] = open("/dev/null",O_RDONLY))) - _exit(EXIT_FAILURE); - - if (dup(fd[1]) == 1) - execvp(program,argv); + if ((fd[0] = open("/dev/null",O_RDONLY)) >= 0) + if (dup2(fd[0],0) == 0) + if (dup2(fd[1],1) == 1) + execvp(program,argv); _exit(EXIT_FAILURE); } -- cgit v1.2.3