From: Bram Moolenaar Date: Sat, 19 Mar 2016 13:12:50 +0000 (+0100) Subject: patch 7.4.1595 X-Git-Tag: v7.4.1595 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c0a1d7f3ad4d41b64c6c881bb8ad7c201f8439a3;p=vim patch 7.4.1595 Problem: Not checking for failed open(). (Coverity) Solution: Check file descriptor not being negative. --- diff --git a/src/os_unix.c b/src/os_unix.c index a9c20c991..4cc9de7c4 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -5150,7 +5150,7 @@ mch_start_job(char **argv, job_T *job, jobopt_T *options UNUSED) null_fd = open("/dev/null", O_RDWR | O_EXTRA, 0); /* set up stdin for the child */ - if (use_null_for_in) + if (use_null_for_in && null_fd >= 0) { close(0); ignored = dup(null_fd); @@ -5165,7 +5165,7 @@ mch_start_job(char **argv, job_T *job, jobopt_T *options UNUSED) } /* set up stderr for the child */ - if (use_null_for_err) + if (use_null_for_err && null_fd >= 0) { close(2); ignored = dup(null_fd); @@ -5185,7 +5185,7 @@ mch_start_job(char **argv, job_T *job, jobopt_T *options UNUSED) } /* set up stdout for the child */ - if (use_null_for_out) + if (use_null_for_out && null_fd >= 0) { close(0); ignored = dup(null_fd); diff --git a/src/version.c b/src/version.c index 06cec58dd..bc817d739 100644 --- a/src/version.c +++ b/src/version.c @@ -748,6 +748,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1595, /**/ 1594, /**/