-fixing #2569
authorChristian Grothoff <christian@grothoff.org>
Sat, 29 Sep 2012 19:18:13 +0000 (19:18 +0000)
committerChristian Grothoff <christian@grothoff.org>
Sat, 29 Sep 2012 19:18:13 +0000 (19:18 +0000)
src/core/gnunet-service-core_clients.c
src/core/gnunet-service-core_neighbours.c
src/core/gnunet-service-core_sessions.c

index 2f04ba57d718c300afc1edd226d7f95e292b7485..91f1ae65a517cabcc16e3aa5733be1243b97eb8f 100644 (file)
@@ -899,8 +899,11 @@ GSC_CLIENTS_done ()
     GNUNET_SERVER_notification_context_destroy (notifier);
     notifier = NULL;
   }
-  GNUNET_SERVER_mst_destroy (client_mst);
-  client_mst = NULL;
+  if (NULL != client_mst)
+  {
+    GNUNET_SERVER_mst_destroy (client_mst);
+    client_mst = NULL;
+  }
 }
 
 /* end of gnunet-service-core_clients.c */
index ff0ca73f75d590adcd8f82bdec45faadd3776303..3b1357425b1822e7564687d4dac381aabae8f3a1 100644 (file)
@@ -506,14 +506,18 @@ free_neighbour_helper (void *cls, const struct GNUNET_HashCode * key, void *valu
 void
 GSC_NEIGHBOURS_done ()
 {
-  if (NULL == transport)
-    return;
-  GNUNET_TRANSPORT_disconnect (transport);
-  transport = NULL;
-  GNUNET_CONTAINER_multihashmap_iterate (neighbours, &free_neighbour_helper,
-                                         NULL);
-  GNUNET_CONTAINER_multihashmap_destroy (neighbours);
-  neighbours = NULL;
+  if (NULL != transport)
+  {
+    GNUNET_TRANSPORT_disconnect (transport);
+    transport = NULL;
+  }
+  if (NULL != neighbours)
+  {
+    GNUNET_CONTAINER_multihashmap_iterate (neighbours, &free_neighbour_helper,
+                                          NULL);
+    GNUNET_CONTAINER_multihashmap_destroy (neighbours);
+    neighbours = NULL;
+  }
 }
 
 /* end of gnunet-service-core_neighbours.c */
index fa69134cbc5610faea60684203938d53ffe7b3ab..87fa91189a5734e3ef52fe5fd8beeb739fe4de1d 100644 (file)
@@ -810,9 +810,12 @@ free_session_helper (void *cls, const struct GNUNET_HashCode * key, void *value)
 void
 GSC_SESSIONS_done ()
 {
-  GNUNET_CONTAINER_multihashmap_iterate (sessions, &free_session_helper, NULL);
-  GNUNET_CONTAINER_multihashmap_destroy (sessions);
-  sessions = NULL;
+  if (NULL != sessions)
+  {
+    GNUNET_CONTAINER_multihashmap_iterate (sessions, &free_session_helper, NULL);
+    GNUNET_CONTAINER_multihashmap_destroy (sessions);
+    sessions = NULL;
+  }
 }
 
 /* end of gnunet-service-core_sessions.c */