diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-01-06 21:36:15 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-01-06 21:36:15 +0100 |
commit | f3ea2e1338054ec0143ac7054e5e91373bcbd558 (patch) | |
tree | 79d1e1b3ac7a10f1ac8656dde1b44efdd1154f0f /src/gns/gnunet-dns2gns.c | |
parent | 0762a75464f424c5669e96f76c7ab1cf76b8e7a5 (diff) | |
download | gnunet-f3ea2e1338054ec0143ac7054e5e91373bcbd558.tar.gz gnunet-f3ea2e1338054ec0143ac7054e5e91373bcbd558.zip |
handle error properly, do not just log but continue gracefully
Diffstat (limited to 'src/gns/gnunet-dns2gns.c')
-rw-r--r-- | src/gns/gnunet-dns2gns.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/gns/gnunet-dns2gns.c b/src/gns/gnunet-dns2gns.c index 424677d14..bf7cca042 100644 --- a/src/gns/gnunet-dns2gns.c +++ b/src/gns/gnunet-dns2gns.c | |||
@@ -533,14 +533,21 @@ read_dns4 (void *cls) | |||
533 | } | 533 | } |
534 | { | 534 | { |
535 | char buf[size + 1]; | 535 | char buf[size + 1]; |
536 | ssize_t sret; | ||
536 | 537 | ||
537 | addrlen = sizeof (v4); | 538 | addrlen = sizeof (v4); |
538 | GNUNET_break (size == | 539 | sret = GNUNET_NETWORK_socket_recvfrom (listen_socket4, |
539 | GNUNET_NETWORK_socket_recvfrom (listen_socket4, | 540 | buf, |
540 | buf, | 541 | size + 1, |
541 | size + 1, | 542 | (struct sockaddr *) &v4, |
542 | (struct sockaddr *) &v4, | 543 | &addrlen); |
543 | &addrlen)); | 544 | if (0 > sret) |
545 | { | ||
546 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, | ||
547 | "recvfrom"); | ||
548 | return; | ||
549 | } | ||
550 | GNUNET_break (size == (size_t) sret); | ||
544 | handle_request (listen_socket4, | 551 | handle_request (listen_socket4, |
545 | &v4, | 552 | &v4, |
546 | addrlen, | 553 | addrlen, |