Problem: Invalid memory access for ":syn keyword x a[".
Solution: Do not skip over the NUL. (Dominique Pelle)
if (p[1] == NUL)
{
EMSG2(_("E789: Missing ']': %s"), kw);
- kw = p + 2; /* skip over the NUL */
- break;
+ goto error;
}
if (p[1] == ']')
{
+ if (p[2] != NUL)
+ {
+ EMSG3(_("E890: trailing char after ']': %s]%s"),
+ kw, &p[2]);
+ goto error;
+ }
kw = p + 1; /* skip over the "]" */
break;
}
}
}
}
-
+error:
vim_free(keyword_copy);
vim_free(syn_opt_arg.cont_in_list);
vim_free(syn_opt_arg.next_list);
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 825,
/**/
824,
/**/