Permalink
Browse files

patch 8.0.0827: Coverity: could leak pty file descriptor

Problem:    Coverity: could leak pty file descriptor, theoretically.
Solution:   If channel is NULL, free the file descriptors.
  • Loading branch information...
brammool committed Aug 1, 2017
1 parent 662d938 commit 979e8c534684737920c1891bf9c4af9e1fdb8c3b
Showing with 18 additions and 0 deletions.
  1. +16 −0 src/os_unix.c
  2. +2 −0 src/version.c
View
@@ -4150,6 +4150,11 @@ set_default_child_environment(void)
#endif
#if defined(FEAT_GUI) || defined(FEAT_JOB_CHANNEL)
/*
* Open a PTY, with FD for the master and slave side.
* When failing "pty_master_fd" and "pty_slave_fd" are -1.
* When successful both file descriptors are stored.
*/
static void
open_pty(int *pty_master_fd, int *pty_slave_fd)
{
@@ -5380,6 +5385,17 @@ mch_job_start(char **argv, job_T *job, jobopt_T *options)
? INVALID_FD : fd_err[0] < 0 ? pty_master_fd : fd_err[0]);
channel_set_job(channel, job, options);
}
else
{
if (fd_in[1] >= 0)
close(fd_in[1]);
if (fd_out[0] >= 0)
close(fd_out[0]);
if (fd_err[0] >= 0)
close(fd_err[0]);
if (pty_master_fd >= 0)
close(pty_master_fd);
}
/* success! */
return;
View
@@ -769,6 +769,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
827,
/**/
826,
/**/

0 comments on commit 979e8c5

Please sign in to comment.