# HG changeset patch # User Christian Brabandt # Date 1504647904 -7200 # Node ID 7ae2b2c84ec57010ff8616e83e459405638d423d # Parent 1e2c608b80494d02e5b54cdcf2e03cf4955716ad patch 8.0.1063: Coverity warns for NULL check and array use commit https://github.com/vim/vim/commit/28550b74bb4373417eb6fbf132bd4211b7b92afa Author: Bram Moolenaar Date: Tue Sep 5 23:31:01 2017 +0200 patch 8.0.1063: Coverity warns for NULL check and array use Problem: Coverity warns for NULL check and using variable pointer as an array. Solution: Remove the NULL check. Make "argvar" an array. diff --git a/src/terminal.c b/src/terminal.c --- a/src/terminal.c +++ b/src/terminal.c @@ -462,7 +462,7 @@ term_start(typval_T *argvar, jobopt_T *o void ex_terminal(exarg_T *eap) { - typval_T argvar; + typval_T argvar[2]; jobopt_T opt; char_u *cmd; char_u *tofree = NULL; @@ -525,8 +525,8 @@ ex_terminal(exarg_T *eap) } cmd = skipwhite(p); } - if (cmd == NULL || *cmd == NUL) - /* Make a copy, an autocommand may set 'shell'. */ + if (*cmd == NUL) + /* Make a copy of 'shell', an autocommand may change the option. */ tofree = cmd = vim_strsave(p_sh); if (eap->addr_count > 0) @@ -539,9 +539,10 @@ ex_terminal(exarg_T *eap) opt.jo_in_bot = eap->line2; } - argvar.v_type = VAR_STRING; - argvar.vval.v_string = cmd; - term_start(&argvar, &opt, eap->forceit); + argvar[0].v_type = VAR_STRING; + argvar[0].vval.v_string = cmd; + argvar[1].v_type = VAR_UNKNOWN; + term_start(argvar, &opt, eap->forceit); vim_free(tofree); } @@ -2886,7 +2887,8 @@ f_term_wait(typval_T *argvars, typval_T && STRCMP(job_status(buf->b_term->tl_job), "dead") == 0) { /* The job is dead, keep reading channel I/O until the channel is - * closed. */ + * closed. buf->b_term may become NULL if the terminal was closed while + * waiting. */ ch_log(NULL, "term_wait(): waiting for channel to close"); while (buf->b_term != NULL && !buf->b_term->tl_channel_closed) { diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1063, +/**/ 1062, /**/ 1061,