aboutsummaryrefslogtreecommitdiff
path: root/src/multicast
diff options
context:
space:
mode:
authorpsyc://loupsycedyglgamf.onion/~lynX <ircs://psyced.org/youbroketheinternet>2018-02-12 01:26:25 +0000
committerpsyc://loupsycedyglgamf.onion/~lynX <ircs://psyced.org/youbroketheinternet>2018-02-12 01:26:25 +0000
commitd58a3cdedff02a94f1aba715b6ea75e79156cf36 (patch)
tree093edf1a2954ea424719a0b10eb797e47eed11cd /src/multicast
parent8ad6e8ad25d20c64c0a05241d5d4427b6ca50de5 (diff)
downloadgnunet-d58a3cdedff02a94f1aba715b6ea75e79156cf36.tar.gz
gnunet-d58a3cdedff02a94f1aba715b6ea75e79156cf36.zip
multicast hotfix: relay_count is coerced from ul to us
Diffstat (limited to 'src/multicast')
-rw-r--r--src/multicast/gnunet-service-multicast.c1
-rw-r--r--src/multicast/multicast.h5
2 files changed, 6 insertions, 0 deletions
diff --git a/src/multicast/gnunet-service-multicast.c b/src/multicast/gnunet-service-multicast.c
index d01227e2c..ab7d1c5a0 100644
--- a/src/multicast/gnunet-service-multicast.c
+++ b/src/multicast/gnunet-service-multicast.c
@@ -1450,6 +1450,7 @@ check_client_member_join (void *cls,
1450 uint16_t msg_size = ntohs (msg->header.size); 1450 uint16_t msg_size = ntohs (msg->header.size);
1451 struct GNUNET_PeerIdentity *relays = (struct GNUNET_PeerIdentity *) &msg[1]; 1451 struct GNUNET_PeerIdentity *relays = (struct GNUNET_PeerIdentity *) &msg[1];
1452 uint32_t relay_count = ntohl (msg->relay_count); 1452 uint32_t relay_count = ntohl (msg->relay_count);
1453 if (relay_count > MAX_RELAY_COUNT) return GNUNET_SYSERR;
1453 uint16_t relay_size = relay_count * sizeof (*relays); 1454 uint16_t relay_size = relay_count * sizeof (*relays);
1454 struct GNUNET_MessageHeader *join_msg = NULL; 1455 struct GNUNET_MessageHeader *join_msg = NULL;
1455 uint16_t join_msg_size = 0; 1456 uint16_t join_msg_size = 0;
diff --git a/src/multicast/multicast.h b/src/multicast/multicast.h
index aeb3c0b41..8ff6af237 100644
--- a/src/multicast/multicast.h
+++ b/src/multicast/multicast.h
@@ -30,6 +30,11 @@
30#include "platform.h" 30#include "platform.h"
31#include "gnunet_multicast_service.h" 31#include "gnunet_multicast_service.h"
32 32
33/* FIXME: What is a reasonable value here?
34 * Should it be in an include file that clients can also see?
35 */
36#define MAX_RELAY_COUNT 123
37
33GNUNET_NETWORK_STRUCT_BEGIN 38GNUNET_NETWORK_STRUCT_BEGIN
34 39
35 40