patch 8.2.2579: Vim9: crash in garbagecollect after for loop
Problem: Vim9: crash in garbagecollect after for loop.
Solution: Do not set a reference in script item when the name was cleared.
(closes #7935)
diff --git a/src/evalvars.c b/src/evalvars.c
index 22d39a7..eac66b2 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -319,7 +319,8 @@
{
svar_T *sv = ((svar_T *)si->sn_var_vals.ga_data) + idx;
- abort = abort || set_ref_in_item(sv->sv_tv, copyID, NULL, NULL);
+ if (sv->sv_name != NULL)
+ abort = abort || set_ref_in_item(sv->sv_tv, copyID, NULL, NULL);
}
}