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/sign.c b/src/sign.c
index 2cec269..9a7ca21 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -85,7 +85,7 @@
     if (HASHITEM_EMPTY(hi))
     {
 	// new group
-	group = alloc(sizeof(signgroup_T) + STRLEN(groupname));
+	group = alloc(offsetof(signgroup_T, sg_name) + STRLEN(groupname) + 1);
 	if (group == NULL)
 	    return NULL;
 	STRCPY(group->sg_name, groupname);