patch 8.1.1827: allocating more memory than needed for extended structs
Problem: Allocating more memory than needed for extended structs.
Solution: Use offsetof() instead of sizeof(). (Dominique Pelle,
closes #4786)
diff --git a/src/syntax.c b/src/syntax.c
index ad2e1a0..3d06f44 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -4394,7 +4394,7 @@
name_folded, MAXKEYWLEN + 1);
else
name_ic = name;
- kp = alloc(sizeof(keyentry_T) + STRLEN(name_ic));
+ kp = alloc(offsetof(keyentry_T, keyword) + STRLEN(name_ic) + 1);
if (kp == NULL)
return;
STRCPY(kp->keyword, name_ic);