From 9ea6c6cc680d8110b0c56393e9349a3b4f49ab69 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 25 Jun 2010 18:11:37 +0000 Subject: [PATCH] clenaer --- src/fs/gnunet-service-fs.c | 11 +++++++++-- src/transport/gnunet-service-transport.c | 8 ++++---- src/transport/plugin_transport_tcp.c | 8 +++++--- src/transport/plugin_transport_udp.c | 1 + 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/fs/gnunet-service-fs.c b/src/fs/gnunet-service-fs.c index e49ff17cd..1eb491877 100644 --- a/src/fs/gnunet-service-fs.c +++ b/src/fs/gnunet-service-fs.c @@ -2672,8 +2672,15 @@ handle_p2p_put (void *cls, &prq); cps = GNUNET_CONTAINER_multihashmap_get (connected_peers, &other->hashPubKey); - cps->inc_preference += CONTENT_BANDWIDTH_VALUE + 1000 * prq.priority; - cps->trust_delta += prq.priority; + if (cps != NULL) + { + cps->inc_preference += CONTENT_BANDWIDTH_VALUE + 1000 * prq.priority; + cps->trust_delta += prq.priority; + } + else + { + GNUNET_break (0); + } if (GNUNET_YES == active_migration) { #if DEBUG_FS diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c index 639252f55..f9191747e 100644 --- a/src/transport/gnunet-service-transport.c +++ b/src/transport/gnunet-service-transport.c @@ -57,7 +57,7 @@ * How many messages can we have pending for a given client process * before we start to drop incoming messages? We typically should * have only one client and so this would be the primary buffer for - * messages, so the number should be chosen rather generously. + * messages, so the number should be chosen rather generously. * * The expectation here is that most of the time the queue is large * enough so that a drop is virtually never required. Note that @@ -3991,6 +3991,9 @@ process_hello (struct TransportPlugin *plugin, gettext_noop ("# HELLOs received for validation"), 1, GNUNET_NO); + GNUNET_CRYPTO_hash (&publicKey, + sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), + &target.hashPubKey); /* first, check if load is too high */ if (GNUNET_SCHEDULER_get_load (sched, GNUNET_SCHEDULER_PRIORITY_BACKGROUND) > MAX_HELLO_LOAD) @@ -4019,9 +4022,6 @@ process_hello (struct TransportPlugin *plugin, GNUNET_break_op (0); return GNUNET_SYSERR; } - GNUNET_CRYPTO_hash (&publicKey, - sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), - &target.hashPubKey); if (0 == memcmp (&my_identity, &target, sizeof (struct GNUNET_PeerIdentity))) diff --git a/src/transport/plugin_transport_tcp.c b/src/transport/plugin_transport_tcp.c index bb720124c..9b09d8948 100644 --- a/src/transport/plugin_transport_tcp.c +++ b/src/transport/plugin_transport_tcp.c @@ -791,10 +791,12 @@ disconnect_session (struct Session *session) { GNUNET_SCHEDULER_cancel (session->plugin->env->sched, session->receive_delay_task); - GNUNET_SERVER_receive_done (session->client, - GNUNET_SYSERR); + if (session->client != NULL) + GNUNET_SERVER_receive_done (session->client, + GNUNET_SYSERR); } - GNUNET_SERVER_client_drop (session->client); + if (session->client != NULL) + GNUNET_SERVER_client_drop (session->client); GNUNET_STATISTICS_update (session->plugin->env->stats, gettext_noop ("# TCP sessions active"), -1, diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c index 0f74ce128..0d01e6c97 100644 --- a/src/transport/plugin_transport_udp.c +++ b/src/transport/plugin_transport_udp.c @@ -603,6 +603,7 @@ udp_real_send (void *cls, else { GNUNET_break_op (0); + GNUNET_free (message); return -1; } -- 2.25.1