X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=qemu-malloc.c;h=b9b38514ac1ebb0cbb24d208da0c3c15d021c6a7;hb=c886edfb851c0c590d4e77f058f2ec8ed95ad1b5;hp=1b33e04601a516399ae7271061f0dd6ca239ca77;hpb=50401022d8fbdcdaf84d28e7b813ee94c2d47325;p=qemu.git diff --git a/qemu-malloc.c b/qemu-malloc.c index 1b33e0460..b9b38514a 100644 --- a/qemu-malloc.c +++ b/qemu-malloc.c @@ -22,23 +22,12 @@ * THE SOFTWARE. */ #include "qemu-common.h" +#include "trace.h" #include -static void *oom_check(void *ptr) -{ - if (ptr == NULL) { - abort(); - } - return ptr; -} - -void *get_mmap_addr(unsigned long size) -{ - return NULL; -} - void qemu_free(void *ptr) { + trace_qemu_free(ptr); free(ptr); } @@ -53,26 +42,35 @@ static int allow_zero_malloc(void) void *qemu_malloc(size_t size) { + void *ptr; if (!size && !allow_zero_malloc()) { abort(); } - return oom_check(malloc(size ? size : 1)); + ptr = qemu_oom_check(malloc(size ? size : 1)); + trace_qemu_malloc(size, ptr); + return ptr; } void *qemu_realloc(void *ptr, size_t size) { + void *newptr; if (!size && !allow_zero_malloc()) { abort(); } - return oom_check(realloc(ptr, size ? size : 1)); + newptr = qemu_oom_check(realloc(ptr, size ? size : 1)); + trace_qemu_realloc(ptr, size, newptr); + return newptr; } void *qemu_mallocz(size_t size) { + void *ptr; if (!size && !allow_zero_malloc()) { abort(); } - return oom_check(calloc(1, size ? size : 1)); + ptr = qemu_oom_check(calloc(1, size ? size : 1)); + trace_qemu_malloc(size, ptr); + return ptr; } char *qemu_strdup(const char *str)