Catch various cases in libpayload where malloc() or memalign() return NULL

Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4474 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Stefan Reinauer
2009-07-31 11:39:55 +00:00
committed by Stefan Reinauer
parent 131c0070a3
commit 5fe6e23c61
10 changed files with 62 additions and 7 deletions

View File

@ -113,6 +113,10 @@ struct LAR *openlar(void *addr)
* tear on the heap */
lar->headers = malloc(16 * sizeof(void *));
if (!lar->headers)
return NULL;
lar->alloc = 16;
lar->count = lar->eof = 0;
lar->cindex = 0;

View File

@ -309,6 +309,8 @@ void *memalign(size_t align, size_t size)
if (size == 0) return 0;
if (align_regions == 0) {
align_regions = malloc(sizeof(struct align_region_t));
if (align_regions == NULL)
return NULL;
memset(align_regions, 0, sizeof(struct align_region_t));
}
struct align_region_t *reg = align_regions;

View File

@ -55,6 +55,8 @@ char *readline(const char *prompt)
if (!readline_buffer || !readline_bufferlen) {
#define READLINE_BUFFERSIZE 256
readline_buffer = malloc(READLINE_BUFFERSIZE);
if (!readline_buffer)
return NULL;
readline_bufferlen = READLINE_BUFFERSIZE;
memset(readline_buffer, 0, readline_bufferlen);
}