Why do you need malloc's alignment? You don't use it anywhere in your calculations except for an assertion that all other alignment is less than it.