aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2009-10-31 20:43:41 +0000
committerChristian Grothoff <christian@grothoff.org>2009-10-31 20:43:41 +0000
commit146e94e18ae9166b2894916878e3c85136d6216e (patch)
treee84f840d20d62c7fb54af495b864bfcb6333d501 /src
parent9d547cd3754656e231069bfe01dca01e0b15c48d (diff)
downloadgnunet-146e94e18ae9166b2894916878e3c85136d6216e.tar.gz
gnunet-146e94e18ae9166b2894916878e3c85136d6216e.zip
tolerate empty message
Diffstat (limited to 'src')
-rw-r--r--src/core/core_api.c6
-rw-r--r--src/core/gnunet-service-core.c8
2 files changed, 14 insertions, 0 deletions
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)
1054 trigger_next_request (h); 1054 trigger_next_request (h);
1055 GNUNET_assert (size >= sizeof (struct SendMessage)); 1055 GNUNET_assert (size >= sizeof (struct SendMessage));
1056 dt = notify (notify_cls, size - sizeof (struct SendMessage), &sm[1]); 1056 dt = notify (notify_cls, size - sizeof (struct SendMessage), &sm[1]);
1057 if (0 == dt)
1058 {
1059 /* client decided to send nothing! */
1060 return 0;
1061 }
1062 GNUNET_assert (dt >= sizeof (struct GNUNET_MessageHeader));
1057 sm->header.size = htons (dt + sizeof (struct SendMessage)); 1063 sm->header.size = htons (dt + sizeof (struct SendMessage));
1058 GNUNET_assert (dt + sizeof (struct SendMessage) < size); 1064 GNUNET_assert (dt + sizeof (struct SendMessage) < size);
1059 return dt + sizeof (struct SendMessage); 1065 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)
1750 1750
1751/** 1751/**
1752 * Handle CORE_SEND request. 1752 * Handle CORE_SEND request.
1753 *
1754 * @param cls unused
1755 * @param client the client issuing the request
1756 * @param message the "struct SendMessage"
1753 */ 1757 */
1754static void 1758static void
1755handle_client_send (void *cls, 1759handle_client_send (void *cls,
@@ -1796,6 +1800,10 @@ send_connect_continuation (void *cls, size_t size, void *buf)
1796 1800
1797/** 1801/**
1798 * Handle CORE_SEND request. 1802 * Handle CORE_SEND request.
1803 *
1804 * @param cls unused
1805 * @param client the client issuing the request
1806 * @param message the "struct SendMessage"
1799 */ 1807 */
1800static void 1808static void
1801handle_client_send (void *cls, 1809handle_client_send (void *cls,