svn commit: r233850 - head/sys/kern
Navdeep Parhar
np at FreeBSD.org
Tue Apr 3 18:38:01 UTC 2012
Author: np
Date: Tue Apr 3 18:38:00 2012
New Revision: 233850
URL: http://svn.freebsd.org/changeset/base/233850
Log:
- Remove redundant call to pr_ctloutput from code that handles SO_SETFIB.
- Add a check for errors during copyin while here.
Reviewed by: julian, bz
MFC after: 2 weeks
Modified:
head/sys/kern/uipc_socket.c
Modified: head/sys/kern/uipc_socket.c
==============================================================================
--- head/sys/kern/uipc_socket.c Tue Apr 3 18:24:57 2012 (r233849)
+++ head/sys/kern/uipc_socket.c Tue Apr 3 18:38:00 2012 (r233850)
@@ -2504,20 +2504,19 @@ sosetopt(struct socket *so, struct socko
case SO_SETFIB:
error = sooptcopyin(sopt, &optval, sizeof optval,
sizeof optval);
+ if (error)
+ goto bad;
+
if (optval < 0 || optval >= rt_numfibs) {
error = EINVAL;
goto bad;
}
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_proto->pr_domain->dom_family == PF_ROUTE)))
so->so_fibnum = optval;
- /* Note: ignore error */
- if (so->so_proto->pr_ctloutput)
- (*so->so_proto->pr_ctloutput)(so, sopt);
- } else {
+ else
so->so_fibnum = 0;
- }
break;
case SO_USER_COOKIE:
More information about the svn-src-all
mailing list