aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--nscd/nscd_helper.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0398349..d190358 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2007-02-15 Ulrich Drepper <drepper@redhat.com>
+ * nscd/nscd_helper.c (open_socket): Don't send padding bytes from
+ reqdata.
+
* sysdeps/unix/sysv/linux/x86_64/send.c (__libc_send): Cosmetic
change: don't pass NULL in place of an integer.
diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c
index 577c6a0..1f56ccf 100644
--- a/nscd/nscd_helper.c
+++ b/nscd/nscd_helper.c
@@ -108,6 +108,7 @@ open_socket (request_type type, const char *key, size_t keylen)
request_header req;
char key[keylen];
} reqdata;
+ size_t real_sizeof_reqdata = sizeof (request_header) + keylen;
/* Make socket non-blocking. */
__fcntl (sock, F_SETFL, O_RDWR | O_NONBLOCK);
@@ -135,9 +136,9 @@ open_socket (request_type type, const char *key, size_t keylen)
# define MSG_NOSIGNAL 0
#endif
ssize_t wres = TEMP_FAILURE_RETRY (__send (sock, &reqdata,
- sizeof (reqdata),
+ real_sizeof_reqdata,
MSG_NOSIGNAL));
- if (__builtin_expect (wres == (ssize_t) sizeof (reqdata), 1))
+ if (__builtin_expect (wres == (ssize_t) real_sizeof_reqdata, 1))
/* We managed to send the request. */
return sock;