Page MenuHomeFreeBSD

D29146.1777554965.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D29146.1777554965.diff

Index: sys/kern/uipc_socket.c
===================================================================
--- sys/kern/uipc_socket.c
+++ sys/kern/uipc_socket.c
@@ -861,6 +861,17 @@
return (error);
}
+int
+sosockaddr(struct socket *so, struct sockaddr **nam)
+{
+ int error;
+
+ CURVNET_SET(so->so_vnet);
+ error = (*so->so_proto->pr_usrreqs->pru_sockaddr)(so, nam);
+ CURVNET_RESTORE();
+ return (error);
+}
+
int
sobindat(int fd, struct socket *so, struct sockaddr *nam, struct thread *td)
{
Index: sys/kern/uipc_syscalls.c
===================================================================
--- sys/kern/uipc_syscalls.c
+++ sys/kern/uipc_syscalls.c
@@ -1386,9 +1386,7 @@
return (error);
so = fp->f_data;
*sa = NULL;
- CURVNET_SET(so->so_vnet);
- error = (*so->so_proto->pr_usrreqs->pru_sockaddr)(so, sa);
- CURVNET_RESTORE();
+ error = sosockaddr(so, sa);
if (error != 0)
goto bad;
if (*sa == NULL)
Index: sys/sys/socketvar.h
===================================================================
--- sys/sys/socketvar.h
+++ sys/sys/socketvar.h
@@ -417,6 +417,7 @@
int sobind(struct socket *so, struct sockaddr *nam, struct thread *td);
int sobindat(int fd, struct socket *so, struct sockaddr *nam,
struct thread *td);
+int sosockaddr(struct socket *so, struct sockaddr **nam);
int soclose(struct socket *so);
int soconnect(struct socket *so, struct sockaddr *nam, struct thread *td);
int soconnectat(int fd, struct socket *so, struct sockaddr *nam,

File Metadata

Mime Type
text/plain
Expires
Thu, Apr 30, 1:16 PM (42 m, 10 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28510036
Default Alt Text
D29146.1777554965.diff (1 KB)

Event Timeline