summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--nscd/nscd_helper.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f02d7ddd1d..838ccf0b29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2007-07-21 Ulrich Drepper <drepper@redhat.com>
+ * nscd/nscd_helper.c (get_mapping): Use MSG_CMSG_CLOEXEC for
+ descriptor received from nscd.
+
* sysdeps/unix/sysv/linux/bits/socket.h: Define MSG_CMSG_CLOEXEC.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define O_CLOEXEC.
diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c
index 79644a4da1..50146a093e 100644
--- a/nscd/nscd_helper.c
+++ b/nscd/nscd_helper.c
@@ -265,7 +265,11 @@ get_mapping (request_type type, const char *key,
if (wait_on_socket (sock) <= 0)
goto out_close2;
- if (__builtin_expect (TEMP_FAILURE_RETRY (__recvmsg (sock, &msg, 0))
+# ifndef MSG_CMSG_CLOEXEC
+# define MSG_CMSG_CLOEXEC 0
+# endif
+ if (__builtin_expect (TEMP_FAILURE_RETRY (__recvmsg (sock, &msg,
+ MSG_CMSG_CLOEXEC))
!= keylen, 0))
goto out_close2;