Problem: Vim9: crash when end marker is missing. (Dhiraj Mishra)
Solution: Check for end of function lines. (closes #7031)
CheckDefFailure(['var lines =<< trim END X', 'END'], 'E488:')
CheckDefFailure(['var lines =<< trim END " comment', 'END'], 'E488:')
+
+ lines =<< trim [END]
+ def Func()
+ var&lines =<< trim END
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ x
+ enddef
+ call Func()
+ [END]
+ CheckScriptFailure(lines, 'E990:')
enddef
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1760,
/**/
1759,
/**/
for (;;)
{
- if (cctx->ctx_lnum == cctx->ctx_ufunc->uf_lines.ga_len)
+ if (cctx->ctx_lnum >= cctx->ctx_ufunc->uf_lines.ga_len - 1)
return NULL;
++cctx->ctx_lnum;
p = ((char_u **)cctx->ctx_ufunc->uf_lines.ga_data)[cctx->ctx_lnum];