From 02cb5ad65de4f9b98107e655e9d1850d7aa02ec7 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 21 Nov 2011 15:09:48 +0000 Subject: fix leak --- src/core/gnunet-service-core_sessions.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/core/gnunet-service-core_sessions.c b/src/core/gnunet-service-core_sessions.c index ab825e9b6..51bd03279 100644 --- a/src/core/gnunet-service-core_sessions.c +++ b/src/core/gnunet-service-core_sessions.c @@ -171,7 +171,8 @@ GSC_SESSIONS_end (const struct GNUNET_PeerIdentity *pid) { struct Session *session; struct GSC_ClientActiveRequest *car; - + struct SessionMessageEntry *sme; + session = find_session (pid); if (NULL == session) return; @@ -190,6 +191,13 @@ GSC_SESSIONS_end (const struct GNUNET_PeerIdentity *pid) session->active_client_request_tail, car); GSC_CLIENTS_reject_request (car); } + while (NULL != (sme = session->sme_head)) + { + GNUNET_CONTAINER_DLL_remove (session->sme_head, + session->sme_tail, + sme); + GNUNET_free (sme); + } GNUNET_SCHEDULER_cancel (session->typemap_task); GSC_CLIENTS_notify_clients_about_neighbour (&session->peer, NULL, 0 /* FIXME: ATSI */ , -- cgit v1.2.3