Author: jilles
Date: Fri Sep  6 23:49:54 2013
New Revision: 255336
URL: http://svnweb.freebsd.org/changeset/base/255336

Log:
  libc: Make resolver sockets close-on-exec (SOCK_CLOEXEC).
  
  Although the resolver's sockets are exposed to applications via res_state,
  I do not expect them to pass the sockets across execve().

Modified:
  head/lib/libc/resolv/res_send.c

Modified: head/lib/libc/resolv/res_send.c
==============================================================================
--- head/lib/libc/resolv/res_send.c     Fri Sep  6 23:47:50 2013        
(r255335)
+++ head/lib/libc/resolv/res_send.c     Fri Sep  6 23:49:54 2013        
(r255336)
@@ -660,7 +660,8 @@ send_vc(res_state statp,
                if (statp->_vcsock >= 0)
                        res_nclose(statp);
 
-               statp->_vcsock = _socket(nsap->sa_family, SOCK_STREAM, 0);
+               statp->_vcsock = _socket(nsap->sa_family, SOCK_STREAM |
+                   SOCK_CLOEXEC, 0);
 #if !defined(USE_POLL) && !defined(USE_KQUEUE)
                if (statp->_vcsock > highestFD) {
                        res_nclose(statp);
@@ -851,7 +852,7 @@ send_dg(res_state statp,
        nsaplen = get_salen(nsap);
        if (EXT(statp).nssocks[ns] == -1) {
                EXT(statp).nssocks[ns] = _socket(nsap->sa_family,
-                   SOCK_DGRAM, 0);
+                   SOCK_DGRAM | SOCK_CLOEXEC, 0);
 #if !defined(USE_POLL) && !defined(USE_KQUEUE)
                if (EXT(statp).nssocks[ns] > highestFD) {
                        res_nclose(statp);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to