aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-09-29 19:18:13 +0000
committerChristian Grothoff <christian@grothoff.org>2012-09-29 19:18:13 +0000
commit0d5f97f528f19c8375ee5d9b12decc471c7f009a (patch)
tree542fe00ef6f483b6d87bce1cf622af752156a848 /src/core
parent923554d350494d8cb938b56d22cb412384670a65 (diff)
downloadgnunet-0d5f97f528f19c8375ee5d9b12decc471c7f009a.tar.gz
gnunet-0d5f97f528f19c8375ee5d9b12decc471c7f009a.zip
-fixing #2569
Diffstat (limited to 'src/core')
-rw-r--r--src/core/gnunet-service-core_clients.c7
-rw-r--r--src/core/gnunet-service-core_neighbours.c20
-rw-r--r--src/core/gnunet-service-core_sessions.c9
3 files changed, 23 insertions, 13 deletions
diff --git a/src/core/gnunet-service-core_clients.c b/src/core/gnunet-service-core_clients.c
index 2f04ba57d..91f1ae65a 100644
--- a/src/core/gnunet-service-core_clients.c
+++ b/src/core/gnunet-service-core_clients.c
@@ -899,8 +899,11 @@ GSC_CLIENTS_done ()
899 GNUNET_SERVER_notification_context_destroy (notifier); 899 GNUNET_SERVER_notification_context_destroy (notifier);
900 notifier = NULL; 900 notifier = NULL;
901 } 901 }
902 GNUNET_SERVER_mst_destroy (client_mst); 902 if (NULL != client_mst)
903 client_mst = NULL; 903 {
904 GNUNET_SERVER_mst_destroy (client_mst);
905 client_mst = NULL;
906 }
904} 907}
905 908
906/* end of gnunet-service-core_clients.c */ 909/* end of gnunet-service-core_clients.c */
diff --git a/src/core/gnunet-service-core_neighbours.c b/src/core/gnunet-service-core_neighbours.c
index ff0ca73f7..3b1357425 100644
--- a/src/core/gnunet-service-core_neighbours.c
+++ b/src/core/gnunet-service-core_neighbours.c
@@ -506,14 +506,18 @@ free_neighbour_helper (void *cls, const struct GNUNET_HashCode * key, void *valu
506void 506void
507GSC_NEIGHBOURS_done () 507GSC_NEIGHBOURS_done ()
508{ 508{
509 if (NULL == transport) 509 if (NULL != transport)
510 return; 510 {
511 GNUNET_TRANSPORT_disconnect (transport); 511 GNUNET_TRANSPORT_disconnect (transport);
512 transport = NULL; 512 transport = NULL;
513 GNUNET_CONTAINER_multihashmap_iterate (neighbours, &free_neighbour_helper, 513 }
514 NULL); 514 if (NULL != neighbours)
515 GNUNET_CONTAINER_multihashmap_destroy (neighbours); 515 {
516 neighbours = NULL; 516 GNUNET_CONTAINER_multihashmap_iterate (neighbours, &free_neighbour_helper,
517 NULL);
518 GNUNET_CONTAINER_multihashmap_destroy (neighbours);
519 neighbours = NULL;
520 }
517} 521}
518 522
519/* end of gnunet-service-core_neighbours.c */ 523/* end of gnunet-service-core_neighbours.c */
diff --git a/src/core/gnunet-service-core_sessions.c b/src/core/gnunet-service-core_sessions.c
index fa69134cb..87fa91189 100644
--- a/src/core/gnunet-service-core_sessions.c
+++ b/src/core/gnunet-service-core_sessions.c
@@ -810,9 +810,12 @@ free_session_helper (void *cls, const struct GNUNET_HashCode * key, void *value)
810void 810void
811GSC_SESSIONS_done () 811GSC_SESSIONS_done ()
812{ 812{
813 GNUNET_CONTAINER_multihashmap_iterate (sessions, &free_session_helper, NULL); 813 if (NULL != sessions)
814 GNUNET_CONTAINER_multihashmap_destroy (sessions); 814 {
815 sessions = NULL; 815 GNUNET_CONTAINER_multihashmap_iterate (sessions, &free_session_helper, NULL);
816 GNUNET_CONTAINER_multihashmap_destroy (sessions);
817 sessions = NULL;
818 }
816} 819}
817 820
818/* end of gnunet-service-core_sessions.c */ 821/* end of gnunet-service-core_sessions.c */