Author: kevlo
Date: Mon Jul 14 06:00:01 2014
New Revision: 268601
URL: http://svnweb.freebsd.org/changeset/base/268601

Log:
  Make bind(2) and connect(2) return EAFNOSUPPORT for AF_UNIX on wrong
  address family.
  
  See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191586 for the
  original discussion.
  
  Reviewed by:  terry

Modified:
  head/sys/kern/uipc_usrreq.c

Modified: head/sys/kern/uipc_usrreq.c
==============================================================================
--- head/sys/kern/uipc_usrreq.c Mon Jul 14 04:38:17 2014        (r268600)
+++ head/sys/kern/uipc_usrreq.c Mon Jul 14 06:00:01 2014        (r268601)
@@ -467,6 +467,9 @@ uipc_bindat(int fd, struct socket *so, s
        cap_rights_t rights;
        char *buf;
 
+       if (nam->sa_family != AF_UNIX)
+               return (EAFNOSUPPORT);
+
        unp = sotounpcb(so);
        KASSERT(unp != NULL, ("uipc_bind: unp == NULL"));
 
@@ -1278,6 +1281,9 @@ unp_connectat(int fd, struct socket *so,
        cap_rights_t rights;
        int error, len;
 
+       if (nam->sa_family != AF_UNIX)
+               return (EAFNOSUPPORT);
+
        UNP_LINK_WLOCK_ASSERT();
 
        unp = sotounpcb(so);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to