X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=qemu-malloc.c;h=295d1856efa235ef6a08e2bee43f016aa77406a6;hb=HEAD;hp=676185786c4e17e49f2213e7abd9df75f7088b65;hpb=322691a5c9f1c8531554148d47c078b5be590805;p=qemu diff --git a/qemu-malloc.c b/qemu-malloc.c index 6761857..295d185 100644 --- a/qemu-malloc.c +++ b/qemu-malloc.c @@ -26,8 +26,9 @@ static void *oom_check(void *ptr) { - if (ptr == NULL) + if (ptr == NULL) { abort(); + } return ptr; } @@ -43,15 +44,22 @@ void qemu_free(void *ptr) void *qemu_malloc(size_t size) { + if (!size) { + abort(); + } return oom_check(malloc(size)); } void *qemu_realloc(void *ptr, size_t size) { - if (size) + if (size) { return oom_check(realloc(ptr, size)); - else - return realloc(ptr, size); + } else { + if (ptr) { + return realloc(ptr, size); + } + } + abort(); } void *qemu_mallocz(size_t size) @@ -76,8 +84,9 @@ char *qemu_strndup(const char *str, size_t size) const char *end = memchr(str, 0, size); char *new; - if (end) + if (end) { size = end - str; + } new = qemu_malloc(size + 1); new[size] = 0;