gnunet

Main GNUnet Logic
Log | Files | Refs | Submodules | README | LICENSE

commit 328aade82c1f698ac7b93894a4bd659e14f41e4d
parent f3ea2e1338054ec0143ac7054e5e91373bcbd558
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat,  6 Jan 2018 21:37:27 +0100

handle error properly, do not just log but continue gracefully -- v6 also

Diffstat:
Msrc/gns/gnunet-dns2gns.c | 26++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/gns/gnunet-dns2gns.c b/src/gns/gnunet-dns2gns.c @@ -586,16 +586,26 @@ read_dns6 (void *cls) } { char buf[size]; + ssize_t sret; addrlen = sizeof (v6); - GNUNET_break (size == - GNUNET_NETWORK_socket_recvfrom (listen_socket6, - buf, - size, - (struct sockaddr *) &v6, - &addrlen)); - handle_request (listen_socket6, &v6, addrlen, - buf, size); + sret = GNUNET_NETWORK_socket_recvfrom (listen_socket6, + buf, + size, + (struct sockaddr *) &v6, + &addrlen); + if (0 > sret) + { + GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, + "recvfrom"); + return; + } + GNUNET_break (size == (size_t) sret); + handle_request (listen_socket6, + &v6, + addrlen, + buf, + size); } }