patch 9.0.1271: using sizeof() and subtract array size is tricky
Problem: Using sizeof() and subtract array size is tricky.
Solution: Use offsetof() instead. (closes #11926)
diff --git a/src/vim9script.c b/src/vim9script.c
index fd4658c..b946fb9 100644
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -922,7 +922,7 @@
// svar_T and create a new sallvar_T.
sv = ((svar_T *)si->sn_var_vals.ga_data) + si->sn_var_vals.ga_len;
newsav = (sallvar_T *)alloc_clear(
- sizeof(sallvar_T) + STRLEN(name));
+ offsetof(sallvar_T, sav_key) + STRLEN(name) + 1);
if (newsav == NULL)
return;