From: Christian Grothoff Date: Sat, 6 Jan 2018 20:37:27 +0000 (+0100) Subject: handle error properly, do not just log but continue gracefully -- v6 also X-Git-Tag: gnunet-0.11.0rc0~2^2~16^2~1 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=328aade82c1f698ac7b93894a4bd659e14f41e4d;p=oweals%2Fgnunet.git handle error properly, do not just log but continue gracefully -- v6 also --- diff --git a/src/gns/gnunet-dns2gns.c b/src/gns/gnunet-dns2gns.c index bf7cca042..2f0de030d 100644 --- 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); } }