From: Shawn O. Pearce Date: Thu, 24 Aug 2006 08:46:29 +0000 (-0400) Subject: Round out memory pool allocations in fast-import to pointer sizes. X-Git-Tag: v1.5.0-rc4~14^2~65 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8d8928b0511313ba1740d39c3920f8f12f36a10a;p=git.git Round out memory pool allocations in fast-import to pointer sizes. Some architectures (e.g. SPARC) would require that we access pointers only on pointer-sized alignments. So ensure the pool allocator rounds out non-pointer sized allocations to the next pointer so we don't generate bad memory addresses. This could have occurred if we had previously allocated an atom whose string was not a whole multiple of the pointer size, for example. Signed-off-by: Shawn O. Pearce --- diff --git a/fast-import.c b/fast-import.c index 1c74b90c8..e42bdbd3a 100644 --- a/fast-import.c +++ b/fast-import.c @@ -342,6 +342,9 @@ static void* pool_alloc(size_t len) } r = p->next_free; + /* round out to a pointer alignment */ + if (len & (sizeof(void*) - 1)) + len += sizeof(void*) - (len & (sizeof(void*) - 1)); p->next_free += len; return r; }