diff options
Diffstat (limited to 'src/gns/gnunet-dns2gns.c')
-rw-r--r-- | src/gns/gnunet-dns2gns.c | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/src/gns/gnunet-dns2gns.c b/src/gns/gnunet-dns2gns.c index 424677d14..2f0de030d 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, |
@@ -579,16 +586,26 @@ read_dns6 (void *cls) | |||
579 | } | 586 | } |
580 | { | 587 | { |
581 | char buf[size]; | 588 | char buf[size]; |
589 | ssize_t sret; | ||
582 | 590 | ||
583 | addrlen = sizeof (v6); | 591 | addrlen = sizeof (v6); |
584 | GNUNET_break (size == | 592 | sret = GNUNET_NETWORK_socket_recvfrom (listen_socket6, |
585 | GNUNET_NETWORK_socket_recvfrom (listen_socket6, | 593 | buf, |
586 | buf, | 594 | size, |
587 | size, | 595 | (struct sockaddr *) &v6, |
588 | (struct sockaddr *) &v6, | 596 | &addrlen); |
589 | &addrlen)); | 597 | if (0 > sret) |
590 | handle_request (listen_socket6, &v6, addrlen, | 598 | { |
591 | 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); | ||
592 | } | 609 | } |
593 | } | 610 | } |
594 | 611 | ||