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);
}
}
diff --git a/src/version.c b/src/version.c
index 6c96175..4a4d65a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2579,
+/**/
2578,
/**/
2577,