]> err.no Git - dpkg/commitdiff
Close --status-fd file descriptors on exec
authorGuillem Jover <guillem@debian.org>
Wed, 4 Jun 2008 05:07:31 +0000 (08:07 +0300)
committerGuillem Jover <guillem@debian.org>
Wed, 4 Jun 2008 05:07:31 +0000 (08:07 +0300)
This avoids those being inherited by the childs. Closes: #471488

ChangeLog
debian/changelog
src/main.c

index d5472875450f955fd55403232ae10a6744c6cd44..01a9675a6652543efe889ef248f0506a404c8c77 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-06-04  Guillem Jover  <guillem@debian.org>
+
+       * src/main.c (setpipe): Set file descriptors to close on exec.
+
 2008-06-04  Guillem Jover  <guillem@debian.org>
 
        * dpkg-deb/build.c (getfi): Use m_realloc instead of realloc.
index 160320609adcb71f77a7a646d9d5cb1c9482a17c..d07c995e66e8896f414940c9655454e65040f9c2 100644 (file)
@@ -15,6 +15,8 @@ dpkg (1.15.0) UNRELEASED; urgency=low
   * Fix the support for passing more than one --status-fd option to dpkg.
     Until now only the last one was being used.
   * Replace realloc plus error checking usage with m_realloc.
+  * Close --status-fd file descriptors on exec, so that they are not
+    inherited by the childs. Closes: #471488
 
   [ Raphael Hertzog ]
   * Enhance dpkg-shlibdeps's error message when a library can't be found to
index 610295108908a865e953666b53bf2ee11c960c07..a248cf4d105b67d68de551ee8492c6f26df6451d 100644 (file)
@@ -300,6 +300,8 @@ static void setpipe(const struct cmdinfo *cip, const char *value) {
   if (*ep || v > INT_MAX)
     badusage(_("invalid integer for --%s: `%.250s'"),cip->olong,value);
 
+  setcloexec(v, _("<package status and progress file descriptor>"));
+
   pipe_new = nfmalloc(sizeof(struct pipef));
   pipe_new->fd = v;
   pipe_new->next = *pipe_head;