patch 8.2.1789: Vim9: crash with invalid list constant
Problem: Vim9: crash with invalid list constant. (Dhiraj Mishra)
Solution: Return FAIL when compiling the list fails. (closes #7066)
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 830e8bb..32def6c 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2549,7 +2549,7 @@
break;
}
if (compile_expr0(&p, cctx) == FAIL)
- break;
+ return FAIL;
++count;
if (*p == ',')
{
@@ -3333,7 +3333,10 @@
*arg = p + 1;
if (may_get_next_line(*arg, arg, cctx) == FAIL)
+ {
+ emsg(_(e_missing_name_after_dot));
return FAIL;
+ }
// dictionary member: dict.name
p = *arg;
if (eval_isdictc(*p))