diff --git a/contrib/tsearch2/ispell/spell.c b/contrib/tsearch2/ispell/spell.c index 7fb720f582c..9027263a18d 100644 --- a/contrib/tsearch2/ispell/spell.c +++ b/contrib/tsearch2/ispell/spell.c @@ -463,9 +463,9 @@ mkSPNode(IspellDict * Conf, int low, int high, int level) if (!nchar) return NULL; - rs = (SPNode *) malloc(SPNHRDSZ + nchar * sizeof(SPNodeData)); + rs = (SPNode *) malloc(SPNHDRSZ + nchar * sizeof(SPNodeData)); MEMOUT(rs); - memset(rs, 0, SPNHRDSZ + nchar * sizeof(SPNodeData)); + memset(rs, 0, SPNHDRSZ + nchar * sizeof(SPNodeData)); rs->length = nchar; data = rs->data; diff --git a/contrib/tsearch2/ispell/spell.h b/contrib/tsearch2/ispell/spell.h index ee86eac9856..549bb68091f 100644 --- a/contrib/tsearch2/ispell/spell.h +++ b/contrib/tsearch2/ispell/spell.h @@ -27,7 +27,7 @@ typedef struct SPNode SPNodeData data[1]; } SPNode; -#define SPNHRDSZ (sizeof(uint32)) +#define SPNHDRSZ (offsetof(SPNode,data)) typedef struct spell_struct @@ -89,7 +89,7 @@ typedef struct AffixNode AffixNodeData data[1]; } AffixNode; -#define ANHRDSZ (sizeof(uint32)) +#define ANHRDSZ (offsetof(AffixNode, data)) typedef struct {