From: Christian Grothoff Date: Sat, 31 Oct 2009 20:43:41 +0000 (+0000) Subject: tolerate empty message X-Git-Tag: initial-import-from-subversion-38251~23194 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=146e94e18ae9166b2894916878e3c85136d6216e;p=oweals%2Fgnunet.git tolerate empty message --- diff --git a/src/core/core_api.c b/src/core/core_api.c index a6d729245..1a74eb7d0 100644 --- a/src/core/core_api.c +++ b/src/core/core_api.c @@ -1054,6 +1054,12 @@ produce_send (void *cls, size_t size, void *buf) trigger_next_request (h); GNUNET_assert (size >= sizeof (struct SendMessage)); dt = notify (notify_cls, size - sizeof (struct SendMessage), &sm[1]); + if (0 == dt) + { + /* client decided to send nothing! */ + return 0; + } + GNUNET_assert (dt >= sizeof (struct GNUNET_MessageHeader)); sm->header.size = htons (dt + sizeof (struct SendMessage)); GNUNET_assert (dt + sizeof (struct SendMessage) < size); return dt + sizeof (struct SendMessage); diff --git a/src/core/gnunet-service-core.c b/src/core/gnunet-service-core.c index d950237cd..1d272b873 100644 --- a/src/core/gnunet-service-core.c +++ b/src/core/gnunet-service-core.c @@ -1750,6 +1750,10 @@ process_plaintext_neighbour_queue (struct Neighbour *n) /** * Handle CORE_SEND request. + * + * @param cls unused + * @param client the client issuing the request + * @param message the "struct SendMessage" */ static void handle_client_send (void *cls, @@ -1796,6 +1800,10 @@ send_connect_continuation (void *cls, size_t size, void *buf) /** * Handle CORE_SEND request. + * + * @param cls unused + * @param client the client issuing the request + * @param message the "struct SendMessage" */ static void handle_client_send (void *cls,