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