diff options
Diffstat (limited to 'src/multicast')
-rw-r--r-- | src/multicast/gnunet-service-multicast.c | 18 | ||||
-rw-r--r-- | src/multicast/test_multicast_multipeer.c | 2 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/multicast/gnunet-service-multicast.c b/src/multicast/gnunet-service-multicast.c index 20d29b906..f8441cc2b 100644 --- a/src/multicast/gnunet-service-multicast.c +++ b/src/multicast/gnunet-service-multicast.c | |||
@@ -1449,17 +1449,15 @@ check_client_member_join (void *cls, | |||
1449 | struct GNUNET_PeerIdentity *relays = (struct GNUNET_PeerIdentity *) &msg[1]; | 1449 | struct GNUNET_PeerIdentity *relays = (struct GNUNET_PeerIdentity *) &msg[1]; |
1450 | uint32_t relay_count = ntohl (msg->relay_count); | 1450 | uint32_t relay_count = ntohl (msg->relay_count); |
1451 | 1451 | ||
1452 | if (0 == relay_count) | 1452 | if (0 != relay_count) |
1453 | { | 1453 | { |
1454 | GNUNET_break (0); | 1454 | if (UINT32_MAX / relay_count < sizeof (*relays)){ |
1455 | return GNUNET_SYSERR; | 1455 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
1456 | } | 1456 | "relay_count (%lu) * sizeof (*relays) (%lu) exceeds UINT32_MAX!\n", |
1457 | if (UINT32_MAX / relay_count < sizeof (*relays)){ | 1457 | (unsigned long)relay_count, |
1458 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 1458 | sizeof (*relays)); |
1459 | "relay_count (%lu) * sizeof (*relays) (%lu) exceeds UINT32_MAX!\n", | 1459 | return GNUNET_SYSERR; |
1460 | (unsigned long)relay_count, | 1460 | } |
1461 | sizeof (*relays)); | ||
1462 | return GNUNET_SYSERR; | ||
1463 | } | 1461 | } |
1464 | uint32_t relay_size = relay_count * sizeof (*relays); | 1462 | uint32_t relay_size = relay_count * sizeof (*relays); |
1465 | struct GNUNET_MessageHeader *join_msg = NULL; | 1463 | struct GNUNET_MessageHeader *join_msg = NULL; |
diff --git a/src/multicast/test_multicast_multipeer.c b/src/multicast/test_multicast_multipeer.c index 3a7c6d961..7766ff875 100644 --- a/src/multicast/test_multicast_multipeer.c +++ b/src/multicast/test_multicast_multipeer.c | |||
@@ -160,6 +160,7 @@ notify (void *cls, | |||
160 | 160 | ||
161 | *data_size = sizeof (struct pingpong_msg); | 161 | *data_size = sizeof (struct pingpong_msg); |
162 | GNUNET_memcpy(data, pp_msg, *data_size); | 162 | GNUNET_memcpy(data, pp_msg, *data_size); |
163 | GNUNET_free (pp_msg); | ||
163 | 164 | ||
164 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 165 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
165 | "Peer #%u sents ping to origin\n", mc_peer->peer); | 166 | "Peer #%u sents ping to origin\n", mc_peer->peer); |
@@ -328,6 +329,7 @@ origin_notify (void *cls, | |||
328 | pp_msg->msg = PONG; | 329 | pp_msg->msg = PONG; |
329 | *data_size = sizeof (struct pingpong_msg); | 330 | *data_size = sizeof (struct pingpong_msg); |
330 | GNUNET_memcpy(data, pp_msg, *data_size); | 331 | GNUNET_memcpy(data, pp_msg, *data_size); |
332 | GNUNET_free (pp_msg); | ||
331 | 333 | ||
332 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin sends pong\n"); | 334 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin sends pong\n"); |
333 | 335 | ||