[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
- [Qemu-devel] [PATCH for-2.7 v3 00/36] Various memory leak fixes, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 01/36] build-sys: fix building with make CFLAGS=.. argument, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 02/36] tests: fix test-qga leaks, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 03/36] qga: free the whole blacklist,
marcandre . lureau <=
- [Qemu-devel] [PATCH for-2.7 v3 04/36] qga: free remaining leaking state, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 05/36] tests: fix test-cutils leaks, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 07/36] tests: fix test-iov leaks, marcandre . lureau, 2016/08/03
- [Qemu-devel] [PATCH for-2.7 v3 06/36] tests: fix test-vmstate leaks, marcandre . lureau, 2016/08/03