diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/malloc/malloc.c | 3 | 
1 files changed, 3 insertions, 0 deletions
| diff --git a/src/malloc/malloc.c b/src/malloc/malloc.c index 6605ec3a..991300cc 100644 --- a/src/malloc/malloc.c +++ b/src/malloc/malloc.c @@ -563,6 +563,9 @@ void __malloc_donate(char *start, char *end)  	size_t align_start_up = (SIZE_ALIGN-1) & (-(uintptr_t)start - OVERHEAD);  	size_t align_end_down = (SIZE_ALIGN-1) & (uintptr_t)end; +	/* Getting past this condition ensures that the padding for alignment +	 * and header overhead will not overflow and will leave a nonzero +	 * multiple of SIZE_ALIGN bytes between start and end. */  	if (end - start <= OVERHEAD + align_start_up + align_end_down)  		return;  	start += align_start_up + OVERHEAD; | 
