Patch 8.1.1709
Problem:    Coverity warns for possibly using a NULL pointer.
Solution:   Make sure no NULL pointer is used.
Files:      src/popupwin.c, src/testdir/test_popupwin.vim


*** ../vim-8.1.1708/src/popupwin.c      2019-07-17 21:27:48.822903817 +0200
--- src/popupwin.c      2019-07-17 21:36:11.280955516 +0200
***************
*** 516,522 ****
      di = dict_find(dict, (char_u *)"borderhighlight", -1);
      if (di != NULL)
      {
!       if (di->di_tv.v_type != VAR_LIST)
            emsg(_(e_listreq));
        else
        {
--- 516,522 ----
      di = dict_find(dict, (char_u *)"borderhighlight", -1);
      if (di != NULL)
      {
!       if (di->di_tv.v_type != VAR_LIST || di->di_tv.vval.v_list == NULL)
            emsg(_(e_listreq));
        else
        {
***************
*** 524,540 ****
            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);
!               }
            if (list->lv_len == 1 && wp->w_border_highlight[0] != NULL)
                for (i = 1; i < 4; ++i)
!                       wp->w_border_highlight[i] =
                                        vim_strsave(wp->w_border_highlight[0]);
        }
      }
--- 524,539 ----
            listitem_T  *li;
            int         i;
  
!           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] =
                                        vim_strsave(wp->w_border_highlight[0]);
        }
      }
*** ../vim-8.1.1708/src/testdir/test_popupwin.vim       2019-07-17 
21:27:48.826903797 +0200
--- src/testdir/test_popupwin.vim       2019-07-17 21:34:42.329183133 +0200
***************
*** 634,639 ****
--- 634,641 ----
    call popup_clear()
    call assert_fails('call popup_create("text", #{borderhighlight: "none"})', 
'E714:')
    call popup_clear()
+   call assert_fails('call popup_create("text", #{borderhighlight: 
test_null_list()})', 'E714:')
+   call popup_clear()
    call assert_fails('call popup_create("text", #{borderchars: "none"})', 
'E714:')
    call popup_clear()
  
*** ../vim-8.1.1708/src/version.c       2019-07-17 21:32:10.717608653 +0200
--- src/version.c       2019-07-17 21:36:55.012832731 +0200
***************
*** 779,780 ****
--- 779,782 ----
  {   /* Add new patch number below this line */
+ /**/
+     1709,
  /**/

-- 
It is illegal for anyone to give lighted cigars to dogs, cats, and other
domesticated animal kept as pets.
                [real standing law in Illinois, United States of America]

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201907171937.x6HJbjG2019717%40masaka.moolenaar.net.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui