summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archival/tar.c5
-rw-r--r--tar.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/archival/tar.c b/archival/tar.c
index 8445595..49e99a1 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -169,13 +169,16 @@ extern int tar_unzip_init(int tarFd)
if (child_pid==0) {
/* child process */
+ close(unzip_pipe[0]);
gunzip_init();
unzip(tarFd, unzip_pipe[1]);
exit(EXIT_SUCCESS);
}
- else
+ else {
/* return fd of uncompressed data to parent process */
+ close(unzip_pipe[1]);
return(unzip_pipe[0]);
+ }
}
#endif
diff --git a/tar.c b/tar.c
index 8445595..49e99a1 100644
--- a/tar.c
+++ b/tar.c
@@ -169,13 +169,16 @@ extern int tar_unzip_init(int tarFd)
if (child_pid==0) {
/* child process */
+ close(unzip_pipe[0]);
gunzip_init();
unzip(tarFd, unzip_pipe[1]);
exit(EXIT_SUCCESS);
}
- else
+ else {
/* return fd of uncompressed data to parent process */
+ close(unzip_pipe[1]);
return(unzip_pipe[0]);
+ }
}
#endif