summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/helper/slbt_archive_import.c3
-rw-r--r--src/helper/slbt_dump_machine.c11
2 files changed, 5 insertions, 9 deletions
diff --git a/src/helper/slbt_archive_import.c b/src/helper/slbt_archive_import.c
index 0d3ea52..c45efa4 100644
--- a/src/helper/slbt_archive_import.c
+++ b/src/helper/slbt_archive_import.c
@@ -65,9 +65,8 @@ static void slbt_archive_import_child(
argv[2] = 0;
close(fd[1]);
- close(0);
- if (dup(fd[0]) == 0)
+ if (dup2(fd[0],0) == 0)
execvp(program,argv);
_exit(EXIT_FAILURE);
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);
}