gspawn: Fix leak of internal pipe with G_SPAWN_LEAVE_DESCRIPTORS_OPEN
authorPaul Barbieri <paul.barbieri@baesystems.com>
Mon, 1 Jul 2013 20:10:28 +0000 (21:10 +0100)
committerColin Walters <walters@verbum.org>
Mon, 1 Jul 2013 20:10:28 +0000 (21:10 +0100)
Even when the app author specifies G_SPAWN_LEAVE_DESCRIPTORS_OPEN,
we should avoid leaking our internal pipe machinery into the
child.

Commit message written by: Colin Walters <walters@verbum.org>

https://bugzilla.gnome.org/show_bug.cgi?id=703407

glib/gspawn.c

index f9baaa3..3db3c8d 100644 (file)
@@ -1395,6 +1395,7 @@ fork_exec_with_pipes (gboolean              intermediate_child,
             }
           else if (grandchild_pid == 0)
             {
+              close_and_invalidate (&child_pid_report_pipe[1]);
               do_exec (child_err_report_pipe[1],
                        stdin_pipe[0],
                        stdout_pipe[1],