From 0d3cb73012332964e7a81d7afd1c21d393f45566 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 18 May 2019 13:05:18 +0200 Subject: 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(). --- src/change.c | 12 ++++++++---- src/memline.c | 7 ++++--- 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 @@ -767,6 +767,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1344, /**/ 1343, /**/ -- cgit v1.2.1