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/evalvars.c b/src/evalvars.c
index 0665436..b2343c0 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -3960,7 +3960,7 @@
|| STRNCMP(name, "g:", 2) == 0 || var_in_autoload))
goto failed;
- di = alloc(sizeof(dictitem_T) + STRLEN(varname));
+ di = alloc(offsetof(dictitem_T, di_key) + STRLEN(varname) + 1);
if (di == NULL)
goto failed;
STRCPY(di->di_key, varname);