patch 9.0.0432: crash when using for loop variable in closure
Problem: Crash when using for loop variable in closure.
Solution: Check that the variable wasn't deleted. (issue #11094)
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 30ff7a7..d4d1ad6 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1716,6 +1716,12 @@
return NULL;
}
sv = ((svar_T *)si->sn_var_vals.ga_data) + sref->sref_idx;
+ if (sv->sv_name == NULL)
+ {
+ if (dfunc != NULL)
+ emsg(_(e_script_variable_was_deleted));
+ return NULL;
+ }
if (!equal_type(sv->sv_type, sref->sref_type, 0))
{
if (dfunc != NULL)