forked from aniani/vim
patch 7.4.1664
Problem: Crash in :cgetexpr. Solution: Check for NULL pointer. (Dominique) Add a test.
This commit is contained in:
@@ -532,7 +532,8 @@ qf_init_ext(
|
|||||||
else if (tv->v_type == VAR_LIST)
|
else if (tv->v_type == VAR_LIST)
|
||||||
{
|
{
|
||||||
/* Get the next line from the supplied list */
|
/* Get the next line from the supplied list */
|
||||||
while (p_li && p_li->li_tv.v_type != VAR_STRING)
|
while (p_li && (p_li->li_tv.v_type != VAR_STRING
|
||||||
|
|| p_li->li_tv.vval.v_string == NULL))
|
||||||
p_li = p_li->li_next; /* Skip non-string items */
|
p_li = p_li->li_next; /* Skip non-string items */
|
||||||
|
|
||||||
if (!p_li) /* End of the list */
|
if (!p_li) /* End of the list */
|
||||||
|
@@ -692,3 +692,8 @@ func Test_caddbuffer_to_empty()
|
|||||||
endtry
|
endtry
|
||||||
quit!
|
quit!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_cgetexpr_works()
|
||||||
|
" this must not crash Vim
|
||||||
|
cgetexpr [$x]
|
||||||
|
endfunc
|
||||||
|
@@ -748,6 +748,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 */
|
||||||
|
/**/
|
||||||
|
1664,
|
||||||
/**/
|
/**/
|
||||||
1663,
|
1663,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user