[libvirt] [PATCH 2/2] vbox: Adjust the UTF FREE macros
Eric Blake
eblake at redhat.com
Fri Jan 25 23:16:29 UTC 2013
On 01/23/2013 05:34 PM, John Ferlan wrote:
> Adjust the macros to free memory allocated during various calls to
> perform the check if parameter is NULL prior to really freeing and to
> set the pointer to NULL after done freeing.
> ---
> src/vbox/vbox_tmpl.c | 76 +++++++++++++++++++++++++---------------------------
> 1 file changed, 37 insertions(+), 39 deletions(-)
>
> +#define VBOX_UTF16_FREE(arg) \
> + do { \
> + if (arg) { \
> + data->pFuncs->pfnUtf16Free((arg)); \
Unneeded set of () here, but it doesn't hurt anything. Also,
indentation is off.
Modifying cfg.mk will make it easy to enforce that we don't re-introduce
the problem. ACK with this squashed in, so I pushed.
diff --git i/cfg.mk w/cfg.mk
index a687eb9..2dfde01 100644
--- i/cfg.mk
+++ w/cfg.mk
@@ -93,6 +93,9 @@ VC_LIST_ALWAYS_EXCLUDE_REGEX = \
# Functions like free() that are no-ops on NULL arguments.
useless_free_options = \
+ --name=VBOX_UTF16_FREE \
+ --name=VBOX_UTF8_FREE \
+ --name=VBOX_COM_UNALLOC_MEM \
--name=VIR_FREE \
--name=qemuCapsFree \
--name=qemuMigrationCookieFree \
diff --git i/src/vbox/vbox_tmpl.c w/src/vbox/vbox_tmpl.c
index 86e08da..0a164dc 100644
--- i/src/vbox/vbox_tmpl.c
+++ w/src/vbox/vbox_tmpl.c
@@ -8,7 +8,7 @@
*/
/*
- * Copyright (C) 2010-2012 Red Hat, Inc.
+ * Copyright (C) 2010-2013 Red Hat, Inc.
* Copyright (C) 2008-2009 Sun Microsystems, Inc.
*
* This file is part of a free software library; you can redistribute
@@ -80,28 +80,28 @@
#define VIR_FROM_THIS VIR_FROM_VBOX
-#define VBOX_UTF16_FREE(arg)
\
- do {
\
- if (arg) {
\
- data->pFuncs->pfnUtf16Free((arg));
\
- (arg) = NULL;
\
- }
\
+#define VBOX_UTF16_FREE(arg) \
+ do { \
+ if (arg) { \
+ data->pFuncs->pfnUtf16Free(arg); \
+ (arg) = NULL; \
+ } \
} while (0)
-#define VBOX_UTF8_FREE(arg)
\
- do {
\
- if (arg) {
\
- data->pFuncs->pfnUtf8Free((arg));
\
- (arg) = NULL;
\
- }
\
+#define VBOX_UTF8_FREE(arg) \
+ do { \
+ if (arg) { \
+ data->pFuncs->pfnUtf8Free(arg); \
+ (arg) = NULL; \
+ } \
} while (0)
-#define VBOX_COM_UNALLOC_MEM(arg)
\
- do {
\
- if (arg) {
\
- data->pFuncs->pfnComUnallocMem((arg));
\
- (arg) = NULL;
\
- }
\
+#define VBOX_COM_UNALLOC_MEM(arg) \
+ do { \
+ if (arg) { \
+ data->pFuncs->pfnComUnallocMem(arg); \
+ (arg) = NULL; \
+ } \
} while (0)
#define VBOX_UTF16_TO_UTF8(arg1, arg2)
data->pFuncs->pfnUtf16ToUtf8(arg1, arg2)
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130125/1df3d1dc/attachment-0001.sig>
More information about the libvir-list
mailing list