Problem: Crash in :cgetexpr.
Solution: Check for NULL pointer. (Dominique) Add a test.
else if (tv->v_type == VAR_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 */
if (!p_li) /* End of the list */
endtry
quit!
endfunc
+
+func Test_cgetexpr_works()
+ " this must not crash Vim
+ cgetexpr [$x]
+endfunc
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1664,
/**/
1663,
/**/