diff --git a/ChangeLog b/ChangeLog index f02d7ddd1d..838ccf0b29 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2007-07-21 Ulrich Drepper + * 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;