# HG changeset patch # User Bram Moolenaar # Date 1558178106 -7200 # Node ID 1c2d9f67d98f57a0518ac2a776d68feb278cc0f8 # Parent 679aca57417fdcd3cadd38e4d88067daaf33a2c3 patch 8.1.1344: Coverity complains about possibly using a NULL pointer commit https://github.com/vim/vim/commit/0d3cb73012332964e7a81d7afd1c21d393f45566 Author: Bram Moolenaar Date: Sat May 18 13:05:18 2019 +0200 patch 8.1.1344: Coverity complains about possibly using a NULL pointer Problem: Coverity complains about possibly using a NULL pointer and copying a string into a fixed size buffer. Solution: Check for NULL, even though it should not happen. Use vim_strncpy() instead of strcpy(). diff --git a/src/change.c b/src/change.c --- a/src/change.c +++ b/src/change.c @@ -193,12 +193,16 @@ check_recorded_changes( // can be merged. di = dict_find(li->li_tv.vval.v_dict, (char_u *)"end", -1); - nr = tv_get_number(&di->di_tv); - if (lnume > nr) - di->di_tv.vval.v_number = lnume; + if (di != NULL) + { + nr = tv_get_number(&di->di_tv); + if (lnume > nr) + di->di_tv.vval.v_number = lnume; + } di = dict_find(li->li_tv.vval.v_dict, (char_u *)"added", -1); - di->di_tv.vval.v_number += xtra; + if (di != NULL) + di->di_tv.vval.v_number += xtra; return TRUE; } } diff --git a/src/memline.c b/src/memline.c --- a/src/memline.c +++ b/src/memline.c @@ -1874,7 +1874,7 @@ recover_names( } } - /* check for out-of-memory */ + // check for out-of-memory for (i = 0; i < num_names; ++i) { if (names[i] == NULL) @@ -2101,7 +2101,7 @@ get_ctime(time_t thetime, int add_newlin # endif /* MSVC returns NULL for an invalid value of seconds. */ if (curtime == NULL) - STRCPY(buf, _("(Invalid)")); + vim_strncpy((char_u *)buf, (char_u *)_("(Invalid)"), sizeof(buf) - 1); else (void)strftime(buf, sizeof(buf) - 1, "%a %b %d %H:%M:%S %Y", curtime); #else @@ -3374,7 +3374,8 @@ ml_replace_len( if (newline != NULL) { mch_memmove(newline, line, len); - mch_memmove(newline + len, curbuf->b_ml.ml_line_ptr + oldtextlen, textproplen); + mch_memmove(newline + len, curbuf->b_ml.ml_line_ptr + + oldtextlen, textproplen); vim_free(line); line = newline; len += (colnr_T)textproplen; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -768,6 +768,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1344, +/**/ 1343, /**/ 1342,