aboutsummaryrefslogtreecommitdiff
path: root/src/core/gnunet-service-core_sessions.c
diff options
context:
space:
mode:
authorgrothoff <grothoff@140774ce-b5e7-0310-ab8b-a85725594a96>2011-11-21 15:09:48 +0000
committergrothoff <grothoff@140774ce-b5e7-0310-ab8b-a85725594a96>2011-11-21 15:09:48 +0000
commit0cb05b0ec441bd82cc1252a219613d333e6f8c91 (patch)
treee8ecf5d96047c2423f54cbe3c6dda7b23aa4094d /src/core/gnunet-service-core_sessions.c
parent284fd7a084436b3549ba0cb2c1da646eeb09f3d1 (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.c10
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 */ ,