aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archival/dpkg_deb.c6
-rw-r--r--dpkg_deb.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/archival/dpkg_deb.c b/archival/dpkg_deb.c
index 309f8d762..8239c3c43 100644
--- a/archival/dpkg_deb.c
+++ b/archival/dpkg_deb.c
@@ -24,6 +24,7 @@
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
+#include <signal.h>
#include "busybox.h"
/* From gunzip.c */
@@ -120,8 +121,11 @@ extern int deb_extract(int optflags, const char *dir_name, const char *deb_filen
}
status = readTarFile(srcFd, extract_flag, list_flag,
extract_to_stdout, verbose_flag, NULL, extract_list);
- close(srcFd);
+
+ /* we are deliberately terminating the child so we can safely ignore this */
+ signal(SIGTERM, SIG_IGN);
gz_close(pid);
+ close(srcFd);
fclose(comp_file);
return status;
diff --git a/dpkg_deb.c b/dpkg_deb.c
index 309f8d762..8239c3c43 100644
--- a/dpkg_deb.c
+++ b/dpkg_deb.c
@@ -24,6 +24,7 @@
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
+#include <signal.h>
#include "busybox.h"
/* From gunzip.c */
@@ -120,8 +121,11 @@ extern int deb_extract(int optflags, const char *dir_name, const char *deb_filen
}
status = readTarFile(srcFd, extract_flag, list_flag,
extract_to_stdout, verbose_flag, NULL, extract_list);
- close(srcFd);
+
+ /* we are deliberately terminating the child so we can safely ignore this */
+ signal(SIGTERM, SIG_IGN);
gz_close(pid);
+ close(srcFd);
fclose(comp_file);
return status;