summary refs log tree commit diff
path: root/resolv/res_send.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2012-03-30 08:27:11 -0400
committerUlrich Drepper <drepper@gmail.com>2012-03-30 08:27:11 -0400
commit8e6d108343c2f15d684b84fa48b73b23eb0e7c8b (patch)
treef4e170d5e82c00ed1358c406b0a4d33aca4205c7 /resolv/res_send.c
parentc030f70c8796c7743c3aa97d6beff3bd5b8dcd5d (diff)
downloadglibc-8e6d108343c2f15d684b84fa48b73b23eb0e7c8b.tar.gz
glibc-8e6d108343c2f15d684b84fa48b73b23eb0e7c8b.tar.xz
glibc-8e6d108343c2f15d684b84fa48b73b23eb0e7c8b.zip
Correct check for DNS request send success
This predates the sendmmsg use.  The two requests can use different
request sizes but the check for successful transfer always only used
buflen.
Diffstat (limited to 'resolv/res_send.c')
-rw-r--r--resolv/res_send.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 0b5bc91995..968ede09fa 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -1171,7 +1171,7 @@ send_dg(res_state statp,
 		    else
 		      sr = send (pfd[0].fd, buf, buflen, MSG_NOSIGNAL);
 
-		    if (sr != buflen) {
+		    if (sr != (nwritten != 0 ? buflen2 : buflen)) {
 		      if (errno == EINTR || errno == EAGAIN)
 			goto recompute_resend;
 		      Perror(statp, stderr, "send", errno);