patch 7.4.1625
Problem: Trying to close file descriptor that isn't open.
Solution: Check for negative number.
diff --git a/src/os_unix.c b/src/os_unix.c
index 4cc9de7..cda5407 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5214,11 +5214,11 @@
job->jv_channel = channel; /* ch_refcount was set above */
/* child stdin, stdout and stderr */
- if (!use_file_for_in)
+ if (!use_file_for_in && fd_in[0] >= 0)
close(fd_in[0]);
- if (!use_file_for_out)
+ if (!use_file_for_out && fd_out[1] >= 0)
close(fd_out[1]);
- if (!use_out_for_err && !use_file_for_err)
+ if (!use_out_for_err && !use_file_for_err && fd_err[1] >= 0)
close(fd_err[1]);
if (channel != NULL)
{