]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0429: Coverity complains about eval.c refactor v9.1.0429
authorChristian Brabandt <cb@256bit.org>
Tue, 21 May 2024 16:39:10 +0000 (18:39 +0200)
committerChristian Brabandt <cb@256bit.org>
Tue, 21 May 2024 16:39:10 +0000 (18:39 +0200)
Problem:  Coverity complains about eval.c refactor
          (after v9.1.0422)
Solution: Check that buf is not used un-initialized,
          add explicit conditions for save and restore
          of copyID

Signed-off-by: Christian Brabandt <cb@256bit.org>
src/eval.c
src/version.c

index 833a230f9d096792b3426d1307b4f0823571ae2e..9a20645531816a90495c8eed4fe250a845be2c71 100644 (file)
@@ -6499,7 +6499,7 @@ func_tv2string(typval_T *tv, char_u **tofree, int echo_style)
        r = tv->vval.v_string == NULL ? (char_u *)"function()"
                                : make_ufunc_name_readable(tv->vval.v_string,
                                                buf, MAX_FUNC_NAME_LEN);
-       if (r == buf)
+       if (r == buf && tv->vval.v_string != NULL)
        {
            r = vim_strsave(buf);
            *tofree = r;
@@ -6616,7 +6616,9 @@ list_tv2string(
     }
     else
     {
-       int old_copyID = tv->vval.v_list->lv_copyID;
+       int old_copyID;
+       if (restore_copyID)
+           old_copyID = tv->vval.v_list->lv_copyID;
 
        tv->vval.v_list->lv_copyID = copyID;
        *tofree = list2string(tv, copyID, restore_copyID);
@@ -6658,7 +6660,9 @@ dict_tv2string(
     }
     else
     {
-       int old_copyID = tv->vval.v_dict->dv_copyID;
+       int old_copyID;
+       if (restore_copyID)
+           old_copyID = tv->vval.v_dict->dv_copyID;
 
        tv->vval.v_dict->dv_copyID = copyID;
        *tofree = dict2string(tv, copyID, restore_copyID);
index acec967b8fdfbb3a211ae961ea60754c8f8400b0..b2f04169fdae16cc1a403ed9668b57b9ca7fb565 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    429,
 /**/
     428,
 /**/