fix leak
authorChristian Grothoff <christian@grothoff.org>
Mon, 21 Nov 2011 15:09:48 +0000 (15:09 +0000)
committerChristian Grothoff <christian@grothoff.org>
Mon, 21 Nov 2011 15:09:48 +0000 (15:09 +0000)
src/core/gnunet-service-core_sessions.c

index ab825e9b6028f84bb655dbad273a7aa37a644da9..51bd03279bdd6129a95d6e11576e0d544abd0b3a 100644 (file)
@@ -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 */ ,