diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-05-18 13:05:18 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-05-18 13:05:18 +0200 |
commit | 0d3cb73012332964e7a81d7afd1c21d393f45566 (patch) | |
tree | f88c8cf7b3b4007b8ba2a064b7b143e8785c39f2 | |
parent | 8055d17388736421d875dd4933c4c93d49a2ab58 (diff) | |
download | vim-git-0d3cb73012332964e7a81d7afd1c21d393f45566.tar.gz |
patch 8.1.1344: Coverity complains about possibly using a NULL pointerv8.1.1344
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().
-rw-r--r-- | src/change.c | 12 | ||||
-rw-r--r-- | src/memline.c | 7 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 14 insertions, 7 deletions
diff --git a/src/change.c b/src/change.c index f1c3cc4d0..33db0c1b8 100644 --- 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 index 006a8b52d..8772c4a8e 100644 --- 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_newline) # 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 index f32cd286f..c31a98b44 100644 --- 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, |