patch 8.1.1709: Coverity warns for possibly using a NULL pointer
Problem: Coverity warns for possibly using a NULL pointer.
Solution: Make sure no NULL pointer is used.
diff --git a/src/popupwin.c b/src/popupwin.c
index 322537b..f977517 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -516,7 +516,7 @@
di = dict_find(dict, (char_u *)"borderhighlight", -1);
if (di != NULL)
{
- if (di->di_tv.v_type != VAR_LIST)
+ if (di->di_tv.v_type != VAR_LIST || di->di_tv.vval.v_list == NULL)
emsg(_(e_listreq));
else
{
@@ -524,17 +524,16 @@
listitem_T *li;
int i;
- if (list != NULL)
- for (i = 0, li = list->lv_first; i < 4 && i < list->lv_len;
- ++i, li = li->li_next)
- {
- str = tv_get_string(&li->li_tv);
- if (*str != NUL)
- wp->w_border_highlight[i] = vim_strsave(str);
- }
+ for (i = 0, li = list->lv_first; i < 4 && i < list->lv_len;
+ ++i, li = li->li_next)
+ {
+ str = tv_get_string(&li->li_tv);
+ if (*str != NUL)
+ wp->w_border_highlight[i] = vim_strsave(str);
+ }
if (list->lv_len == 1 && wp->w_border_highlight[0] != NULL)
for (i = 1; i < 4; ++i)
- wp->w_border_highlight[i] =
+ wp->w_border_highlight[i] =
vim_strsave(wp->w_border_highlight[0]);
}
}