diff options
author | grothoff <grothoff@140774ce-b5e7-0310-ab8b-a85725594a96> | 2011-11-21 15:09:48 +0000 |
---|---|---|
committer | grothoff <grothoff@140774ce-b5e7-0310-ab8b-a85725594a96> | 2011-11-21 15:09:48 +0000 |
commit | 0cb05b0ec441bd82cc1252a219613d333e6f8c91 (patch) | |
tree | e8ecf5d96047c2423f54cbe3c6dda7b23aa4094d /src/core/gnunet-service-core_sessions.c | |
parent | 284fd7a084436b3549ba0cb2c1da646eeb09f3d1 (diff) |
fix leak
git-svn-id: https://gnunet.org/svn/gnunet@18236 140774ce-b5e7-0310-ab8b-a85725594a96
Diffstat (limited to 'src/core/gnunet-service-core_sessions.c')
-rw-r--r-- | src/core/gnunet-service-core_sessions.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/gnunet-service-core_sessions.c b/src/core/gnunet-service-core_sessions.c index ab825e9b60..51bd03279b 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 */ , |