aboutsummaryrefslogtreecommitdiffstats
path: root/src/tag_pool.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tag_pool.c')
-rw-r--r--src/tag_pool.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/tag_pool.c b/src/tag_pool.c
index d227a2988..1d92502cc 100644
--- a/src/tag_pool.c
+++ b/src/tag_pool.c
@@ -67,7 +67,9 @@ static struct slot *slot_alloc(struct slot *next,
enum tag_type type,
const char *value, int length)
{
- struct slot *slot = xmalloc(sizeof(*slot) + length);
+ struct slot *slot;
+
+ slot = xmalloc(sizeof(*slot) - sizeof(slot->item.value) + length + 1);
slot->next = next;
slot->ref = 1;
slot->item.type = type;