Problem: May access freed memory when syntax HL times out. (Philipp Gesang)
Solution: Clear b_sst_first when clearing b_sst_array.
for (p = block->b_sst_first; p != NULL; p = p->sst_next)
clear_syn_state(p);
VIM_CLEAR(block->b_sst_array);
+ block->b_sst_first = NULL;
block->b_sst_len = 0;
}
}
synstate_T *p, *prev, *np;
linenr_T n;
- if (block->b_sst_array == NULL) /* nothing to do */
- return;
-
prev = NULL;
for (p = block->b_sst_first; p != NULL; )
{
int dist;
int retval = FALSE;
- if (syn_block->b_sst_array == NULL || syn_block->b_sst_first == NULL)
+ if (syn_block->b_sst_first == NULL)
return retval;
/* Compute normal distance between non-displayed entries. */
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 437,
/**/
436,
/**/