qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH for-2.7 v3 03/36] qga: free the whole blacklist


From: marcandre . lureau
Subject: [Qemu-devel] [PATCH for-2.7 v3 03/36] qga: free the whole blacklist
Date: Wed, 3 Aug 2016 18:55:08 +0400

From: Marc-André Lureau <address@hidden>

Free the list, not just the elements.

Signed-off-by: Marc-André Lureau <address@hidden>
---
 include/glib-compat.h | 9 +++++++++
 qga/main.c            | 8 ++------
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/include/glib-compat.h b/include/glib-compat.h
index 01aa7b3..6d643b2 100644
--- a/include/glib-compat.h
+++ b/include/glib-compat.h
@@ -260,4 +260,13 @@ static inline void g_hash_table_add(GHashTable 
*hash_table, gpointer key)
     } while (0)
 #endif
 
+/*
+ * A GFunc function helper freeing the first argument (not part of glib)
+ */
+static inline void qemu_g_func_free(gpointer data,
+                                    gpointer user_data)
+{
+    g_free(data);
+}
+
 #endif
diff --git a/qga/main.c b/qga/main.c
index 4c3b2c7..868508b 100644
--- a/qga/main.c
+++ b/qga/main.c
@@ -1175,6 +1175,8 @@ static void config_free(GAConfig *config)
 #ifdef CONFIG_FSFREEZE
     g_free(config->fsfreeze_hook);
 #endif
+    g_list_foreach(config->blacklist, qemu_g_func_free, NULL);
+    g_list_free(config->blacklist);
     g_free(config);
 }
 
@@ -1310,11 +1312,6 @@ static int run_agent(GAState *s, GAConfig *config)
     return EXIT_SUCCESS;
 }
 
-static void free_blacklist_entry(gpointer entry, gpointer unused)
-{
-    g_free(entry);
-}
-
 int main(int argc, char **argv)
 {
     int ret = EXIT_SUCCESS;
@@ -1379,7 +1376,6 @@ end:
     if (s->channel) {
         ga_channel_free(s->channel);
     }
-    g_list_foreach(config->blacklist, free_blacklist_entry, NULL);
     g_free(s->pstate_filepath);
     g_free(s->state_filepath_isfrozen);
 
-- 
2.9.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]