0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 9.1.0429: Coverity complains about eval.c refactor

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>
This commit is contained in:
Christian Brabandt 2024-05-21 18:39:10 +02:00
parent 42cd192daa
commit b335a9312c
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
2 changed files with 9 additions and 3 deletions

View 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);

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
429,
/**/
428,
/**/