aboutsummaryrefslogtreecommitdiff
path: root/src/cadet/gnunet-service-cadet_peer.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-06-27 14:35:33 +0000
committerChristian Grothoff <christian@grothoff.org>2016-06-27 14:35:33 +0000
commit71a483b672933fb1de45aebb7869a06bc63f09be (patch)
treedea6a099c5d900b5ac8cf17fbd85ad8457b59111 /src/cadet/gnunet-service-cadet_peer.c
parenta74c37dde046da0c3c0765f47b0fb01ece6a1cc1 (diff)
downloadgnunet-71a483b672933fb1de45aebb7869a06bc63f09be.tar.gz
gnunet-71a483b672933fb1de45aebb7869a06bc63f09be.zip
avoid NPE
Diffstat (limited to 'src/cadet/gnunet-service-cadet_peer.c')
-rw-r--r--src/cadet/gnunet-service-cadet_peer.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/cadet/gnunet-service-cadet_peer.c b/src/cadet/gnunet-service-cadet_peer.c
index ee8f9652f..fa16db4bb 100644
--- a/src/cadet/gnunet-service-cadet_peer.c
+++ b/src/cadet/gnunet-service-cadet_peer.c
@@ -455,8 +455,6 @@ core_connect (void *cls,
455 455
456 GNUNET_assert (NULL == neighbor->connections); 456 GNUNET_assert (NULL == neighbor->connections);
457 neighbor->connections = GNUNET_CONTAINER_multihashmap_create (16, GNUNET_NO); 457 neighbor->connections = GNUNET_CONTAINER_multihashmap_create (16, GNUNET_NO);
458 GNUNET_assert (NULL != neighbor->connections);
459
460 GNUNET_STATISTICS_update (stats, 458 GNUNET_STATISTICS_update (stats,
461 "# peers", 459 "# peers",
462 1, 460 1,
@@ -501,11 +499,14 @@ core_disconnect (void *cls,
501 "DISCONNECTED %s <= %s\n", 499 "DISCONNECTED %s <= %s\n",
502 own_id, GNUNET_i2s (peer)); 500 own_id, GNUNET_i2s (peer));
503 direct_path = pop_direct_path (p); 501 direct_path = pop_direct_path (p);
504 GNUNET_CONTAINER_multihashmap_iterate (p->connections, 502 if (NULL != p->connections)
505 &notify_broken, 503 {
506 p); 504 GNUNET_CONTAINER_multihashmap_iterate (p->connections,
507 GNUNET_CONTAINER_multihashmap_destroy (p->connections); 505 &notify_broken,
508 p->connections = NULL; 506 p);
507 GNUNET_CONTAINER_multihashmap_destroy (p->connections);
508 p->connections = NULL;
509 }
509 if (NULL != p->core_transmit) 510 if (NULL != p->core_transmit)
510 { 511 {
511 GNUNET_CORE_notify_transmit_ready_cancel (p->core_transmit); 512 GNUNET_CORE_notify_transmit_ready_cancel (p->core_transmit);
@@ -774,6 +775,7 @@ peer_destroy (struct CadetPeer *peer)
774 { 775 {
775 GNUNET_assert (0 == GNUNET_CONTAINER_multihashmap_size (peer->connections)); 776 GNUNET_assert (0 == GNUNET_CONTAINER_multihashmap_size (peer->connections));
776 GNUNET_CONTAINER_multihashmap_destroy (peer->connections); 777 GNUNET_CONTAINER_multihashmap_destroy (peer->connections);
778 peer->connections = NULL;
777 } 779 }
778 if (NULL != peer->hello_offer) 780 if (NULL != peer->hello_offer)
779 { 781 {
@@ -818,6 +820,7 @@ shutdown_peer (void *cls,
818{ 820{
819 struct CadetPeer *p = value; 821 struct CadetPeer *p = value;
820 struct CadetTunnel *t = p->tunnel; 822 struct CadetTunnel *t = p->tunnel;
823
821 LOG (GNUNET_ERROR_TYPE_DEBUG, " shutting down %s\n", GCP_2s (p)); 824 LOG (GNUNET_ERROR_TYPE_DEBUG, " shutting down %s\n", GCP_2s (p));
822 if (NULL != t) 825 if (NULL != t)
823 GCT_destroy (t); 826 GCT_destroy (t);