about summary refs log tree commit diff
path: root/nscd
diff options
context:
space:
mode:
Diffstat (limited to 'nscd')
-rw-r--r--nscd/nscd_helper.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c
index 577c6a052a..1f56ccf6aa 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;