gtestutils: Error out if /dev/null stdin redirection fails
authorPhilip Withnall <philip.withnall@collabora.co.uk>
Fri, 16 May 2014 22:08:10 +0000 (23:08 +0100)
committerPhilip Withnall <philip.withnall@collabora.co.uk>
Mon, 26 May 2014 07:39:40 +0000 (08:39 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=730189

glib/gtestutils.c

index 88a6fc0..e67078d 100644 (file)
@@ -2680,7 +2680,11 @@ g_test_trap_fork (guint64        usec_timeout,
       close (stdout_pipe[0]);
       close (stderr_pipe[0]);
       if (!(test_trap_flags & G_TEST_TRAP_INHERIT_STDIN))
-        fd0 = g_open ("/dev/null", O_RDONLY, 0);
+        {
+          fd0 = g_open ("/dev/null", O_RDONLY, 0);
+          if (fd0 < 0)
+            g_error ("failed to open /dev/null for stdin redirection");
+        }
       if (sane_dup2 (stdout_pipe[1], 1) < 0 || sane_dup2 (stderr_pipe[1], 2) < 0 || (fd0 >= 0 && sane_dup2 (fd0, 0) < 0))
         g_error ("failed to dup2() in forked test program: %s", g_strerror (errno));
       if (fd0 >= 3)