1
0
forked from aniani/vim

patch 8.2.3381: crash when using NULL list with sign functions

Problem:    Crash when using NULL list with sign functions.
Solution:   Handle a NULL list like an empty list. (issue #8260)
This commit is contained in:
Bram Moolenaar
2021-08-28 14:42:25 +02:00
parent 60b6e6f6cc
commit 5c56da4de8
3 changed files with 10 additions and 1 deletions

View File

@@ -1902,7 +1902,7 @@ EXTERN int channel_need_redraw INIT(= FALSE);
#endif
#define FOR_ALL_LIST_ITEMS(l, li) \
for ((li) = (l)->lv_first; (li) != NULL; (li) = (li)->li_next)
for ((li) = (l) == NULL ? NULL : (l)->lv_first; (li) != NULL; (li) = (li)->li_next)
// While executing a regexp and set to OPTION_MAGIC_ON or OPTION_MAGIC_OFF this
// overrules p_magic. Otherwise set to OPTION_MAGIC_NOT_SET.

View File

@@ -2012,4 +2012,11 @@ func Test_sign_funcs_multi()
call delete("Xsign")
endfunc
func Test_sign_null_list()
eval test_null_list()->sign_define()
eval test_null_list()->sign_placelist()
eval test_null_list()->sign_undefine()
eval test_null_list()->sign_unplacelist()
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

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