aboutsummaryrefslogtreecommitdiff
path: root/src/transport/plugin_transport_udp_broadcasting.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/plugin_transport_udp_broadcasting.c')
-rw-r--r--src/transport/plugin_transport_udp_broadcasting.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/transport/plugin_transport_udp_broadcasting.c b/src/transport/plugin_transport_udp_broadcasting.c
index d418e50d9..db6c1fe8c 100644
--- a/src/transport/plugin_transport_udp_broadcasting.c
+++ b/src/transport/plugin_transport_udp_broadcasting.c
@@ -228,6 +228,8 @@ prepare_beacon (struct Plugin *plugin, struct UDP_Beacon_Message *msg)
228 228
229 const struct GNUNET_MessageHeader *hello; 229 const struct GNUNET_MessageHeader *hello;
230 hello = plugin->env->get_our_hello (); 230 hello = plugin->env->get_our_hello ();
231 if (NULL == hello)
232 return 0;
231 hello_size = GNUNET_HELLO_size ((struct GNUNET_HELLO_Message *) hello); 233 hello_size = GNUNET_HELLO_size ((struct GNUNET_HELLO_Message *) hello);
232 msg_size = hello_size + sizeof (struct UDP_Beacon_Message); 234 msg_size = hello_size + sizeof (struct UDP_Beacon_Message);
233 235
@@ -258,7 +260,7 @@ udp_ipv4_broadcast_send (void *cls,
258 sent = 0; 260 sent = 0;
259 baddr = plugin->ipv4_broadcast_head; 261 baddr = plugin->ipv4_broadcast_head;
260 /* just IPv4 */ 262 /* just IPv4 */
261 while ((baddr != NULL) && (baddr->addrlen == sizeof (struct sockaddr_in))) 263 while ((msg_size > 0) && (baddr != NULL) && (baddr->addrlen == sizeof (struct sockaddr_in)))
262 { 264 {
263 struct sockaddr_in *addr = (struct sockaddr_in *) baddr->addr; 265 struct sockaddr_in *addr = (struct sockaddr_in *) baddr->addr;
264 266