- if (pipe (pipe_fd) != 0)
- error (EXIT_FAILURE, errno, "pipe");
- to_in_fd = pipe_fd[0];
- to_out_fd = pipe_fd[1];
-
- if (pipe (pipe_fd) != 0)
+ if (pipe (pipe_fd) != 0
+ || (to_in_fd = fd_safer (pipe_fd[0])) < 0
+ || (to_out_fd = fd_safer (pipe_fd[1])) < 0
+ || pipe (pipe_fd) != 0
+ || (from_in_fd = fd_safer (pipe_fd[0])) < 0
+ || (from_out_fd = fd_safer (pipe_fd[1])) < 0)