FreeBSD Bugzilla – Attachment 208370 Details for
Bug 241106
tun/ppp: panic: vm_fault: fault on nofault entry when bringing ppp interface down
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
this patch test for null pointer in rtsock.c
patch-rtsock.c (text/plain), 1.64 KB, created by
lenzi.sergio
on 2019-10-16 20:13:24 UTC
(
hide
)
Description:
this patch test for null pointer in rtsock.c
Filename:
MIME Type:
Creator:
lenzi.sergio
Created:
2019-10-16 20:13:24 UTC
Size:
1.64 KB
patch
obsolete
>Index: rtsock.c >=================================================================== >--- rtsock.c (revisão 353482) >+++ rtsock.c (cópia de trabalho) >@@ -1569,6 +1569,8 @@ > ? jailed_without_vnet(w->w_req->td->td_ucred) > : prison_if(w->w_req->td->td_ucred, rt_key(rt)) != 0) > return (0); >+ if (!rt->rt_ifp->if_addr) >+ return 0; > bzero((caddr_t)&info, sizeof(info)); > info.rti_info[RTAX_DST] = rt_key(rt); > info.rti_info[RTAX_GATEWAY] = rt->rt_gateway; >@@ -1874,10 +1876,13 @@ > u_char af; > struct walkarg w; > >+ RTSOCK_LOCK(); > name ++; > namelen--; >- if (req->newptr) >+ if (req->newptr) { >+ RTSOCK_UNLOCK(); > return (EPERM); >+ } > if (name[1] == NET_RT_DUMP) { > if (namelen == 3) > fib = req->td->td_proc->p_fibnum; >@@ -1884,15 +1889,23 @@ > else if (namelen == 4) > fib = (name[3] == RT_ALL_FIBS) ? > req->td->td_proc->p_fibnum : name[3]; >- else >+ else { >+ RTSOCK_UNLOCK(); > return ((namelen < 3) ? EISDIR : ENOTDIR); >- if (fib < 0 || fib >= rt_numfibs) >+ } >+ if (fib < 0 || fib >= rt_numfibs) { >+ RTSOCK_UNLOCK(); > return (EINVAL); >- } else if (namelen != 3) >+ } >+ } else if (namelen != 3) { >+ RTSOCK_UNLOCK(); > return ((namelen < 3) ? EISDIR : ENOTDIR); >+ } > af = name[0]; >- if (af > AF_MAX) >+ if (af > AF_MAX) { >+ RTSOCK_UNLOCK(); > return (EINVAL); >+ } > bzero(&w, sizeof(w)); > w.w_op = name[1]; > w.w_arg = name[2]; >@@ -1899,8 +1912,10 @@ > w.w_req = req; > > error = sysctl_wire_old_buffer(req, 0); >- if (error) >+ if (error) { >+ RTSOCK_UNLOCK(); > return (error); >+ } > > /* > * Allocate reply buffer in advance. >@@ -1959,6 +1974,7 @@ > } > > free(w.w_tmem, M_TEMP); >+ RTSOCK_UNLOCK(); > return (error); > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 241106
: 208370