From f603a687ff722e9df3e6e4730ca4e267aa2b124e Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Thu, 15 Dec 2011 13:33:54 +0000 Subject: HACKING: clarify allocation/free recommendations Clarify the allocation/free recommendations; this is mostly just tidying up following the global-search-and-replace done with the conversion to the GLib g_malloc and friends. Reviewed-by: Stefan Hajnoczi Signed-off-by: Peter Maydell Signed-off-by: Anthony Liguori --- HACKING | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/HACKING b/HACKING index 733eab2dac..471cf1d197 100644 --- a/HACKING +++ b/HACKING @@ -77,11 +77,13 @@ avoided. Use of the malloc/free/realloc/calloc/valloc/memalign/posix_memalign APIs is not allowed in the QEMU codebase. Instead of these routines, -use the replacement g_malloc/g_malloc0/g_realloc/g_free or -qemu_vmalloc/qemu_memalign/qemu_vfree APIs. +use the GLib memory allocation routines g_malloc/g_malloc0/g_new/ +g_new0/g_realloc/g_free or QEMU's qemu_vmalloc/qemu_memalign/qemu_vfree +APIs. -Please note that NULL check for the g_malloc result is redundant and -that g_malloc() call with zero size is not allowed. +Please note that g_malloc will exit on allocation failure, so there +is no need to test for failure (as you would have to with malloc). +Calling g_malloc with a zero size is valid and will return NULL. Memory allocated by qemu_vmalloc or qemu_memalign must be freed with qemu_vfree, since breaking this will cause problems on Win32 and user -- cgit v1.2.1