diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-01-06 21:37:27 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-01-06 21:37:27 +0100 |
commit | 328aade82c1f698ac7b93894a4bd659e14f41e4d (patch) | |
tree | e3af109afa3408514a15caac7d2b0134fc21e926 /src/gns/gnunet-dns2gns.c | |
parent | f3ea2e1338054ec0143ac7054e5e91373bcbd558 (diff) | |
download | gnunet-328aade82c1f698ac7b93894a4bd659e14f41e4d.tar.gz gnunet-328aade82c1f698ac7b93894a4bd659e14f41e4d.zip |
handle error properly, do not just log but continue gracefully -- v6 also
Diffstat (limited to 'src/gns/gnunet-dns2gns.c')
-rw-r--r-- | src/gns/gnunet-dns2gns.c | 26 |
1 files changed, 18 insertions, 8 deletions
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) | |||
586 | } | 586 | } |
587 | { | 587 | { |
588 | char buf[size]; | 588 | char buf[size]; |
589 | ssize_t sret; | ||
589 | 590 | ||
590 | addrlen = sizeof (v6); | 591 | addrlen = sizeof (v6); |
591 | GNUNET_break (size == | 592 | sret = GNUNET_NETWORK_socket_recvfrom (listen_socket6, |
592 | GNUNET_NETWORK_socket_recvfrom (listen_socket6, | 593 | buf, |
593 | buf, | 594 | size, |
594 | size, | 595 | (struct sockaddr *) &v6, |
595 | (struct sockaddr *) &v6, | 596 | &addrlen); |
596 | &addrlen)); | 597 | if (0 > sret) |
597 | handle_request (listen_socket6, &v6, addrlen, | 598 | { |
598 | buf, size); | 599 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, |
600 | "recvfrom"); | ||
601 | return; | ||
602 | } | ||
603 | GNUNET_break (size == (size_t) sret); | ||
604 | handle_request (listen_socket6, | ||
605 | &v6, | ||
606 | addrlen, | ||
607 | buf, | ||
608 | size); | ||
599 | } | 609 | } |
600 | } | 610 | } |
601 | 611 | ||