[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 04/37] qga: free remaining leaking state
From: |
marcandre . lureau |
Subject: |
[Qemu-devel] [PATCH v2 04/37] qga: free remaining leaking state |
Date: |
Thu, 28 Jul 2016 18:37:35 +0400 |
From: Marc-André Lureau <address@hidden>
Signed-off-by: Marc-André Lureau <address@hidden>
---
qga/guest-agent-command-state.c | 7 +++++++
qga/guest-agent-core.h | 1 +
qga/main.c | 6 ++++++
3 files changed, 14 insertions(+)
diff --git a/qga/guest-agent-command-state.c b/qga/guest-agent-command-state.c
index 4de229c..56e63b1 100644
--- a/qga/guest-agent-command-state.c
+++ b/qga/guest-agent-command-state.c
@@ -71,3 +71,10 @@ GACommandState *ga_command_state_new(void)
cs->groups = NULL;
return cs;
}
+
+void ga_command_state_free(GACommandState *cs)
+{
+ g_slist_foreach(cs->groups, (GFunc)g_free, NULL);
+ g_slist_free(cs->groups);
+ g_free(cs);
+}
diff --git a/qga/guest-agent-core.h b/qga/guest-agent-core.h
index 0a49516..63e9d39 100644
--- a/qga/guest-agent-core.h
+++ b/qga/guest-agent-core.h
@@ -28,6 +28,7 @@ void ga_command_state_add(GACommandState *cs,
void ga_command_state_init_all(GACommandState *cs);
void ga_command_state_cleanup_all(GACommandState *cs);
GACommandState *ga_command_state_new(void);
+void ga_command_state_free(GACommandState *cs);
bool ga_logging_enabled(GAState *s);
void ga_disable_logging(GAState *s);
void ga_enable_logging(GAState *s);
diff --git a/qga/main.c b/qga/main.c
index 67be90b..522a609 100644
--- a/qga/main.c
+++ b/qga/main.c
@@ -1372,6 +1372,8 @@ int main(int argc, char **argv)
end:
if (s->command_state) {
ga_command_state_cleanup_all(s->command_state);
+ ga_command_state_free(s->command_state);
+ json_message_parser_destroy(&s->parser);
}
if (s->channel) {
ga_channel_free(s->channel);
@@ -1384,6 +1386,10 @@ end:
}
config_free(config);
+ if (s->main_loop) {
+ g_main_loop_unref(s->main_loop);
+ }
+ g_free(s);
return ret;
}
--
2.9.0
- [Qemu-devel] [PATCH v2 00/37] Various memory leak fixes, marcandre . lureau, 2016/07/28
- [Qemu-devel] [PATCH v2 04/37] qga: free remaining leaking state,
marcandre . lureau <=
- [Qemu-devel] [PATCH v2 06/37] tests: fix test-vmstate leaks, marcandre . lureau, 2016/07/28
- [Qemu-devel] [PATCH v2 05/37] tests: fix test-cutils leaks, marcandre . lureau, 2016/07/28
- [Qemu-devel] [PATCH v2 07/37] tests: fix test-iov leaks, marcandre . lureau, 2016/07/28
- [Qemu-devel] [PATCH v2 08/37] qdist: fix entries memory leak, marcandre . lureau, 2016/07/28
- [Qemu-devel] [PATCH v2 09/37] tests: fix check-qom-interface leaks, marcandre . lureau, 2016/07/28
- [Qemu-devel] [PATCH v2 10/37] tests: fix check-qom-proplist leaks, marcandre . lureau, 2016/07/28
- [Qemu-devel] [PATCH v2 11/37] tests: fix small leak in test-io-channel-command, marcandre . lureau, 2016/07/28
- [Qemu-devel] [PATCH v2 12/37] tests: fix leak in test-string-input-visitor, marcandre . lureau, 2016/07/28