Author: kib
Date: Sun Feb 26 13:51:05 2012
New Revision: 232178
URL: http://svn.freebsd.org/changeset/base/232178

Log:
  Remove apparently redundand checks for socket so_proto being non-NULL
  from sosetopt() and sogetopt().  No exposed sockets may have so_proto
  invalid.
  
  Discussed with:       bz, rwatson
  Reviewed by:  glebius
  MFC after:    2 weeks

Modified:
  head/sys/kern/uipc_socket.c

Modified: head/sys/kern/uipc_socket.c
==============================================================================
--- head/sys/kern/uipc_socket.c Sun Feb 26 13:45:25 2012        (r232177)
+++ head/sys/kern/uipc_socket.c Sun Feb 26 13:51:05 2012        (r232178)
@@ -2447,7 +2447,7 @@ sosetopt(struct socket *so, struct socko
        CURVNET_SET(so->so_vnet);
        error = 0;
        if (sopt->sopt_level != SOL_SOCKET) {
-               if (so->so_proto && so->so_proto->pr_ctloutput) {
+               if (so->so_proto->pr_ctloutput != NULL) {
                        error = (*so->so_proto->pr_ctloutput)(so, sopt);
                        CURVNET_RESTORE();
                        return (error);
@@ -2508,8 +2508,7 @@ sosetopt(struct socket *so, struct socko
                                error = EINVAL;
                                goto bad;
                        }
-                       if (so->so_proto != NULL &&
-                          ((so->so_proto->pr_domain->dom_family == PF_INET) ||
+                       if (((so->so_proto->pr_domain->dom_family == PF_INET) ||
                           (so->so_proto->pr_domain->dom_family == PF_INET6) ||
                           (so->so_proto->pr_domain->dom_family == PF_ROUTE))) {
                                so->so_fibnum = optval;
@@ -2641,11 +2640,8 @@ sosetopt(struct socket *so, struct socko
                        error = ENOPROTOOPT;
                        break;
                }
-               if (error == 0 && so->so_proto != NULL &&
-                   so->so_proto->pr_ctloutput != NULL) {
-                       (void) ((*so->so_proto->pr_ctloutput)
-                                 (so, sopt));
-               }
+               if (error == 0 && so->so_proto->pr_ctloutput != NULL)
+                       (void)(*so->so_proto->pr_ctloutput)(so, sopt);
        }
 bad:
        CURVNET_RESTORE();
@@ -2695,7 +2691,7 @@ sogetopt(struct socket *so, struct socko
        CURVNET_SET(so->so_vnet);
        error = 0;
        if (sopt->sopt_level != SOL_SOCKET) {
-               if (so->so_proto && so->so_proto->pr_ctloutput)
+               if (so->so_proto->pr_ctloutput != NULL)
                        error = (*so->so_proto->pr_ctloutput)(so, sopt);
                else
                        error = ENOPROTOOPT;
_______________________________________________
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