Permalink
Browse files

patch 8.0.0758: possible crash when using a terminal window

Problem:    Possible crash when using a terminal window.
Solution:   Check for NULL pointers. (Yasuhiro Matsumoto, closes #1864)
  • Loading branch information...
brammool committed Jul 23, 2017
1 parent 9c5589c commit cdeae99b4ef4d359e4388a72c6d35f9343ce578a
Showing with 16 additions and 4 deletions.
  1. +14 −4 src/terminal.c
  2. +2 −0 src/version.c
View
@@ -1084,13 +1084,19 @@ term_and_job_init(term_T *term, int rows, int cols, char_u *cmd)
if (channel != NULL)
channel_clear(channel);
if (job != NULL)
{
job->jv_channel = NULL;
job_cleanup(job);
}
term->tl_job = NULL;
if (jo != NULL)
CloseHandle(jo);
if (term->tl_winpty != NULL)
winpty_free(term->tl_winpty);
term->tl_winpty = NULL;
if (term->tl_winpty_config != NULL)
winpty_config_free(term->tl_winpty_config);
term->tl_winpty_config = NULL;
if (winpty_err != NULL)
{
char_u *msg = utf16_to_enc(
@@ -1108,9 +1114,12 @@ term_and_job_init(term_T *term, int rows, int cols, char_u *cmd)
static void
term_free(term_T *term)
{
winpty_free(term->tl_winpty);
winpty_config_free(term->tl_winpty_config);
vterm_free(term->tl_vterm);
if (term->tl_winpty != NULL)
winpty_free(term->tl_winpty);
if (term->tl_winpty_config != NULL)
winpty_config_free(term->tl_winpty_config);
if (term->tl_vterm != NULL)
vterm_free(term->tl_vterm);
}
# else
@@ -1149,7 +1158,8 @@ term_and_job_init(term_T *term, int rows, int cols, char_u *cmd)
static void
term_free(term_T *term)
{
vterm_free(term->tl_vterm);
if (term->tl_vterm != NULL)
vterm_free(term->tl_vterm);
}
# endif
View
@@ -769,6 +769,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
758,
/**/
757,
/**/

0 comments on commit cdeae99

Please sign in to comment.