From e900e2e90ee6925981279880eb522f0c4e5e0fb3 Mon Sep 17 00:00:00 2001 From: Matthias Wachs Date: Tue, 24 Apr 2012 12:41:20 +0000 Subject: [PATCH] - assertions and checks for mantis 2283 --- src/transport/gnunet-service-transport.c | 9 ++++++++- src/transport/gnunet-service-transport_clients.c | 6 ++++++ src/transport/gnunet-service-transport_hello.c | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c index 33c92d6e5..8d26d6467 100644 --- a/src/transport/gnunet-service-transport.c +++ b/src/transport/gnunet-service-transport.c @@ -575,7 +575,7 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, const struct GNUNET_CONFIGURATION_Handle *c) { char *keyfile; - + struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded tmp; /* setup globals */ GST_cfg = c; if (GNUNET_OK != @@ -599,9 +599,15 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, } GST_stats = GNUNET_STATISTICS_create ("transport", c); GST_peerinfo = GNUNET_PEERINFO_connect (c); + memset (&GST_my_public_key, '\0', sizeof (GST_my_public_key)); + memset (&tmp, '\0', sizeof (tmp)); GNUNET_CRYPTO_rsa_key_get_public (GST_my_private_key, &GST_my_public_key); GNUNET_CRYPTO_hash (&GST_my_public_key, sizeof (GST_my_public_key), &GST_my_identity.hashPubKey); + + GNUNET_assert (NULL != GST_my_private_key); + GNUNET_assert (0 != memcmp (&GST_my_public_key, &tmp, sizeof (GST_my_public_key))); + GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task, NULL); if (GST_peerinfo == NULL) @@ -614,6 +620,7 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, /* start subsystems */ GST_hello_start (&process_hello_update, NULL); + GNUNET_assert (NULL != GST_hello_get()); GST_blacklist_start (server); GST_ats = GNUNET_ATS_scheduling_init (GST_cfg, &ats_request_address_change, NULL); diff --git a/src/transport/gnunet-service-transport_clients.c b/src/transport/gnunet-service-transport_clients.c index 939f57b10..12a4159e1 100644 --- a/src/transport/gnunet-service-transport_clients.c +++ b/src/transport/gnunet-service-transport_clients.c @@ -339,6 +339,12 @@ unicast (struct TransportClient *tc, const struct GNUNET_MessageHeader *msg, struct ClientMessageQueueEntry *q; uint16_t msize; + if (msg == NULL) + { + GNUNET_break (0); + return; + } + if ((tc->message_count >= MAX_PENDING) && (GNUNET_YES == may_drop)) { GNUNET_log (GNUNET_ERROR_TYPE_INFO, diff --git a/src/transport/gnunet-service-transport_hello.c b/src/transport/gnunet-service-transport_hello.c index 120f17668..3e80aec02 100644 --- a/src/transport/gnunet-service-transport_hello.c +++ b/src/transport/gnunet-service-transport_hello.c @@ -162,13 +162,17 @@ refresh_hello_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) gc.expiration = GNUNET_TIME_relative_to_absolute (GNUNET_CONSTANTS_HELLO_ADDRESS_EXPIRATION); + GNUNET_free (our_hello); our_hello = GNUNET_HELLO_create (&GST_my_public_key, &address_generator, &gc); + GNUNET_assert (NULL != our_hello); + #if DEBUG_TRANSPORT GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK, "Refreshed my `%s', new size is %d\n", "HELLO", GNUNET_HELLO_size (our_hello)); #endif + GNUNET_STATISTICS_update (GST_stats, gettext_noop ("# refreshed my HELLO"), 1, GNUNET_NO); if (NULL != hello_cb) @@ -206,6 +210,7 @@ GST_hello_start (GST_HelloCallback cb, void *cb_cls) hello_cb = cb; hello_cb_cls = cb_cls; our_hello = GNUNET_HELLO_create (&GST_my_public_key, NULL, NULL); + GNUNET_assert (NULL != our_hello); refresh_hello (); } -- 2.25.1