From: Jim Meyering <meyering(a)redhat.com>
* src/guestfs.c (guestfs_launch): Handle dup failure.
---
src/guestfs.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/guestfs.c b/src/guestfs.c
index ecdf9e5..1cd4f9e 100644
--- a/src/guestfs.c
+++ b/src/guestfs.c
@@ -1162,11 +1162,18 @@ guestfs_launch (guestfs_h *g)
close (1);
close (wfd[1]);
close (rfd[0]);
- dup (wfd[0]);
- dup (rfd[1]);
+
+ int fail = 0;
+ fail |= dup (wfd[0]);
+ fail |= dup (rfd[1]);
close (wfd[0]);
close (rfd[1]);
+ if (fail) {
+ perror ("dup failed");
+ _exit (1);
+ }
+
#if 0
/* Set up a new process group, so we can signal this process
* and all subprocesses (eg. if qemu is really a shell script).
--
1.6.4.378.g88f2f