summaryrefslogtreecommitdiffstats
path: root/HACKING
diff options
context:
space:
mode:
authorPeter Maydell2011-12-15 14:33:54 +0100
committerAnthony Liguori2011-12-15 16:27:23 +0100
commitf603a687ff722e9df3e6e4730ca4e267aa2b124e (patch)
tree86532467a81ef6829603589c0830240dca0e9ff9 /HACKING
parentusb: fix usb_qdev_init() error handling again (diff)
downloadqemu-f603a687ff722e9df3e6e4730ca4e267aa2b124e.tar.gz
qemu-f603a687ff722e9df3e6e4730ca4e267aa2b124e.tar.xz
qemu-f603a687ff722e9df3e6e4730ca4e267aa2b124e.zip
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 <stefanha@linux.vnet.ibm.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING10
1 files 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