From b83c7acfc9b0e5f8e2ed77435326a1dcb55dfe0c Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 15 Sep 2009 14:35:09 -0500 Subject: Fix: do not leak memory, cleanup the topic list --- src/cbs.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/cbs.c b/src/cbs.c index 10ba5b26..efc8d3f0 100644 --- a/src/cbs.c +++ b/src/cbs.c @@ -420,6 +420,18 @@ static void cbs_unregister(struct ofono_atom *atom) g_dbus_unregister_interface(conn, path, CBS_MANAGER_INTERFACE); ofono_modem_remove_interface(modem, CBS_MANAGER_INTERFACE); + if (cbs->topics) { + g_slist_foreach(cbs->topics, (GFunc)g_free, NULL); + g_slist_free(cbs->topics); + cbs->topics = NULL; + } + + if (cbs->new_topics) { + g_slist_foreach(cbs->new_topics, (GFunc)g_free, NULL); + g_slist_free(cbs->new_topics); + cbs->new_topics = NULL; + } + if (cbs->sim_watch) { if (cbs->imsi_watch) { ofono_sim_remove_ready_watch(cbs->sim, -- cgit v1.2.3