Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4475
2b7e53f0-3cfb-0310-b3e9-
8179ed1497e1
static struct align_region_t *allocate_region(struct align_region_t *old_first, int alignment, int num_elements)
{
struct align_region_t *new_region = malloc(sizeof(struct align_region_t));
+ if (!new_region)
+ return NULL;
new_region->alignment = alignment;
new_region->start = malloc((num_elements+1) * alignment + num_elements);
+ if (!new_region->start) {
+ free(new_region);
+ return NULL;
+ }
new_region->start_data = (void*)((u32)(new_region->start + num_elements + alignment - 1) & (~(alignment-1)));
new_region->size = num_elements * alignment;
new_region->free = num_elements;