patch 8.2.3847: illegal memory access when using a lambda with an error
Problem: Illegal memory access when using a lambda with an error.
Solution: Avoid skipping over the NUL after a string.
diff --git a/src/eval.c b/src/eval.c
index f45cd8e..ecc242d 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3871,12 +3871,15 @@
++*arg;
ret = eval1(arg, rettv, evalarg);
*arg = skipwhite_and_linebreak(*arg, evalarg);
- if (**arg != ')')
+ if (**arg == ')')
+ {
+ ++*arg;
+ }
+ else
{
emsg(_(e_missing_closing_paren));
ret = FAIL;
}
- ++*arg;
}
if (ret != OK)
return FAIL;