From c749821b8d6552f2647a4c9d9721cfdb95f4e906 Mon Sep 17 00:00:00 2001 From: Georg Reinke Date: Wed, 29 Mar 2017 12:00:49 +0200 Subject: [PATCH] memtype-managed: calculate block lengths correctly --- lib/memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/memory.c b/lib/memory.c index e6008303c..fb499d281 100644 --- a/lib/memory.c +++ b/lib/memory.c @@ -132,7 +132,7 @@ void* memory_managed_alloc(struct memtype *m, size_t len, size_t alignment) * The original block descriptor is already at the correct * position, so we just change its len and create a new block * descriptor for the actual block we're handling. */ - block->len = gap; + block->len = gap - sizeof(struct memblock); struct memblock *newblock = (struct memblock*) (cptr - sizeof(struct memblock)); newblock->prev = block; newblock->next = block->next;