diff options
author | Ulrich Drepper <drepper@gmail.com> | 2012-03-30 08:27:11 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2012-03-30 08:27:11 -0400 |
commit | 8e6d108343c2f15d684b84fa48b73b23eb0e7c8b (patch) | |
tree | f4e170d5e82c00ed1358c406b0a4d33aca4205c7 | |
parent | c030f70c8796c7743c3aa97d6beff3bd5b8dcd5d (diff) | |
download | glibc-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.
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | resolv/res_send.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index fd462527a0..2dd220eaa5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ 2012-03-30 Ulrich Drepper <drepper@gmail.com> * resolv/res_send.c (send_dg): Use sendmmsg if we have to write two - requests to save a system call. + requests to save a system call. Fix check that all bytes are sent. * sysdeps/unix/sysv/linux/bits/socket.h (struct mmsghdr): Fix up comments for sendmmsg. 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); |