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);