From 9250b0bd62f74940eb3d16ddebd50bd94f490acb Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 6 Aug 2008 16:22:35 +0000 Subject: [PATCH] r17660@tombo: nickm | 2008-08-06 12:22:19 -0400 Backport: Fix bug 794: recover 3 bytes wasted per memory chunk. Fix from rovv. svn:r16449 --- ChangeLog | 2 ++ src/common/mempool.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 1c12fbe97..e8e0e37d9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ Changes in version 0.2.0.31 - 2008-08-?? o Minor bugfixes: - Fix a small alignment and memory-wasting bug on buffer chunks. Spotted by rovv. + - Recover 3-7 bytes that were wasted per memory chunk. Fixes bug + 794; bug spotted by rovv. Bugfix on 0.2.0.1-alpha. Changes in version 0.2.0.30 - 2008-07-15 diff --git a/src/common/mempool.c b/src/common/mempool.c index 6a41d220f..d489cf655 100644 --- a/src/common/mempool.c +++ b/src/common/mempool.c @@ -144,7 +144,7 @@ struct mp_chunk_t { }; /** Number of extra bytes needed beyond mem_size to allocate a chunk. */ -#define CHUNK_OVERHEAD (sizeof(mp_chunk_t)-1) +#define CHUNK_OVERHEAD STRUCT_OFFSET(mp_chunk_t, mem[0]) /** Given a pointer to a mp_allocated_t, return a pointer to the memory * item it holds. */