aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-07-26 08:59:44 +0000
committerChristian Grothoff <christian@grothoff.org>2011-07-26 08:59:44 +0000
commitc400b29ab6098d3c3f4a85466e00d8c3a9d68eb8 (patch)
tree286abf698c7dacee4f5606557f56be0a7fe83ffb
parent76de3338bcef82fffc18c2282f9a0cded17b9bd8 (diff)
downloadgnunet-c400b29ab6098d3c3f4a85466e00d8c3a9d68eb8.tar.gz
gnunet-c400b29ab6098d3c3f4a85466e00d8c3a9d68eb8.zip
fixing 1738
-rw-r--r--src/transport/plugin_transport_udp.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c
index ba87f206c..e58d4312e 100644
--- a/src/transport/plugin_transport_udp.c
+++ b/src/transport/plugin_transport_udp.c
@@ -360,6 +360,8 @@ udp_send (struct Plugin *plugin,
360 switch (sa->sa_family) 360 switch (sa->sa_family)
361 { 361 {
362 case AF_INET: 362 case AF_INET:
363 if (NULL == plugin->sockv4)
364 return 0;
363 sent = 365 sent =
364 GNUNET_NETWORK_socket_sendto (plugin->sockv4, 366 GNUNET_NETWORK_socket_sendto (plugin->sockv4,
365 msg, 367 msg,
@@ -368,6 +370,8 @@ udp_send (struct Plugin *plugin,
368 slen = sizeof (struct sockaddr_in)); 370 slen = sizeof (struct sockaddr_in));
369 break; 371 break;
370 case AF_INET6: 372 case AF_INET6:
373 if (NULL == plugin->sockv6)
374 return 0;
371 sent = 375 sent =
372 GNUNET_NETWORK_socket_sendto (plugin->sockv6, 376 GNUNET_NETWORK_socket_sendto (plugin->sockv6,
373 msg, 377 msg,
@@ -474,6 +478,11 @@ udp_plugin_send (void *cls,
474 switch (addrlen) 478 switch (addrlen)
475 { 479 {
476 case sizeof(struct IPv4UdpAddress): 480 case sizeof(struct IPv4UdpAddress):
481 if (NULL == plugin->sockv4)
482 {
483 cont (cont_cls, target, GNUNET_SYSERR);
484 return 0;
485 }
477 t4 = addr; 486 t4 = addr;
478 peer_session = GNUNET_malloc (sizeof (struct PeerSession) + sizeof (struct sockaddr_in)); 487 peer_session = GNUNET_malloc (sizeof (struct PeerSession) + sizeof (struct sockaddr_in));
479 v4 = (struct sockaddr_in*) &peer_session[1]; 488 v4 = (struct sockaddr_in*) &peer_session[1];
@@ -485,6 +494,11 @@ udp_plugin_send (void *cls,
485 v4->sin_addr.s_addr = t4->ipv4_addr; 494 v4->sin_addr.s_addr = t4->ipv4_addr;
486 break; 495 break;
487 case sizeof(struct IPv6UdpAddress): 496 case sizeof(struct IPv6UdpAddress):
497 if (NULL == plugin->sockv6)
498 {
499 cont (cont_cls, target, GNUNET_SYSERR);
500 return 0;
501 }
488 t6 = addr; 502 t6 = addr;
489 peer_session = GNUNET_malloc (sizeof (struct PeerSession) + sizeof (struct sockaddr_in6)); 503 peer_session = GNUNET_malloc (sizeof (struct PeerSession) + sizeof (struct sockaddr_in6));
490 v6 = (struct sockaddr_in6*) &peer_session[1]; 504 v6 = (struct sockaddr_in6*) &peer_session[1];