diff options
| author | Gleb Smirnoff <glebius@FreeBSD.org> | 2023-11-30 16:30:55 +0000 |
|---|---|---|
| committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2023-11-30 16:31:10 +0000 |
| commit | 0fac350c54d0a72f5341e15021efcde63eb58a4b (patch) | |
| tree | 6b4229e6fe419e850c04226390fbe5396569aba6 /sys/dev/hyperv | |
| parent | cfb1e92912b4cf75360b7fbe86197cc29bc212c1 (diff) | |
Diffstat (limited to 'sys/dev/hyperv')
| -rw-r--r-- | sys/dev/hyperv/hvsock/hv_sock.c | 12 | ||||
| -rw-r--r-- | sys/dev/hyperv/hvsock/hv_sock.h | 4 |
2 files changed, 8 insertions, 8 deletions
diff --git a/sys/dev/hyperv/hvsock/hv_sock.c b/sys/dev/hyperv/hvsock/hv_sock.c index 655cc990876e..78ec520f1bb3 100644 --- a/sys/dev/hyperv/hvsock/hv_sock.c +++ b/sys/dev/hyperv/hvsock/hv_sock.c @@ -876,7 +876,7 @@ out: } int -hvs_trans_peeraddr(struct socket *so, struct sockaddr **nam) +hvs_trans_peeraddr(struct socket *so, struct sockaddr *sa) { struct hvs_pcb *pcb = so2hvspcb(so); @@ -886,13 +886,13 @@ hvs_trans_peeraddr(struct socket *so, struct sockaddr **nam) if (pcb == NULL) return (EINVAL); - *nam = sodupsockaddr((struct sockaddr *) &pcb->remote_addr, M_NOWAIT); + memcpy(sa, &pcb->remote_addr, pcb->remote_addr.sa_len); - return ((*nam == NULL)? ENOMEM : 0); + return (0); } int -hvs_trans_sockaddr(struct socket *so, struct sockaddr **nam) +hvs_trans_sockaddr(struct socket *so, struct sockaddr *sa) { struct hvs_pcb *pcb = so2hvspcb(so); @@ -902,9 +902,9 @@ hvs_trans_sockaddr(struct socket *so, struct sockaddr **nam) if (pcb == NULL) return (EINVAL); - *nam = sodupsockaddr((struct sockaddr *) &pcb->local_addr, M_NOWAIT); + memcpy(sa, &pcb->local_addr, pcb->local_addr.sa_len); - return ((*nam == NULL)? ENOMEM : 0); + return (0); } void diff --git a/sys/dev/hyperv/hvsock/hv_sock.h b/sys/dev/hyperv/hvsock/hv_sock.h index ee6416a29662..e11621d76dbc 100644 --- a/sys/dev/hyperv/hvsock/hv_sock.h +++ b/sys/dev/hyperv/hvsock/hv_sock.h @@ -103,8 +103,8 @@ int hvs_trans_listen(struct socket *, int, struct thread *); int hvs_trans_accept(struct socket *, struct sockaddr *); int hvs_trans_connect(struct socket *, struct sockaddr *, struct thread *); -int hvs_trans_peeraddr(struct socket *, struct sockaddr **); -int hvs_trans_sockaddr(struct socket *, struct sockaddr **); +int hvs_trans_peeraddr(struct socket *, struct sockaddr *); +int hvs_trans_sockaddr(struct socket *, struct sockaddr *); int hvs_trans_soreceive(struct socket *, struct sockaddr **, struct uio *, struct mbuf **, struct mbuf **, int *); int hvs_trans_sosend(struct socket *, struct sockaddr *, struct uio *, |
