From 41936ff96a2878d78e1fd0007543eb958516b7d9 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Sat, 1 Mar 2014 13:35:26 +0200 Subject: [PATCH] Add checks for NULL return from gc_* --- src/xalloc.c | 22 +++++++++++----------- src/xalloc.h | 1 - 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/xalloc.c b/src/xalloc.c index 34148757f..324fd2af5 100644 --- a/src/xalloc.c +++ b/src/xalloc.c @@ -1,23 +1,19 @@ #include #include "xalloc.h" +#define BREAK() __asm__ volatile ("BKPT"); -void *xcalloc(size_t nmemb, size_t size) +void *xalloc(size_t size) { - void *mem = gc_alloc(nmemb*size); - if (mem) { - bzero(mem, nmemb*size); + void *mem = gc_alloc(size); + if (mem == NULL) { + BREAK(); } return mem; } -void *xalloc(size_t size) -{ - return gc_alloc(size); -} - void *xalloc0(size_t size) { - void *mem = gc_alloc(size); + void *mem = xalloc(size); if (mem) { bzero(mem, size); } @@ -31,6 +27,10 @@ void xfree(void *ptr) void *xrealloc(void *ptr, size_t size) { - return gc_realloc(ptr, size); + ptr = gc_realloc(ptr, size); + if (ptr == NULL) { + BREAK(); + } + return ptr; } diff --git a/src/xalloc.h b/src/xalloc.h index 12161e027..b00eb9bd9 100644 --- a/src/xalloc.h +++ b/src/xalloc.h @@ -1,7 +1,6 @@ #ifndef __XALLOC_H__ #define __XALLOC_H__ #include -void *xcalloc(size_t nmemb, size_t size); void *xalloc(size_t size); void *xalloc0(size_t size); void xfree(void *ptr);