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:
@@ -1902,7 +1902,7 @@ EXTERN int channel_need_redraw INIT(= FALSE);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FOR_ALL_LIST_ITEMS(l, li) \
|
#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
|
// 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.
|
// overrules p_magic. Otherwise set to OPTION_MAGIC_NOT_SET.
|
||||||
|
|||||||
@@ -2012,4 +2012,11 @@ func Test_sign_funcs_multi()
|
|||||||
call delete("Xsign")
|
call delete("Xsign")
|
||||||
endfunc
|
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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
|||||||
@@ -755,6 +755,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
3381,
|
||||||
/**/
|
/**/
|
||||||
3380,
|
3380,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user