path: root/slirp/socket.c
diff options
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-04-28 18:53:08 +0200
committerPeter Maydell <peter.maydell@linaro.org>2016-04-28 18:12:08 +0100
commit0d48dfedc5c2beb418ad4c08b78de14e794bb199 (patch)
treebd061e316c485320611cf0d3f1c2f34e1a302bce /slirp/socket.c
parent8c4bf97580a7556e3e61b7bc41dedb5958f0b2f9 (diff)
slirp: fix guest network access with darwin host
On Darwin, connect, sendto and friends want the exact size of the sockaddr, not more (and in particular, not sizeof(struct sockaddr_storaget)) This commit adds the sockaddr_size helper to be used when passing a sockaddr size to such function, and makes use of it int sendto and connect calls. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: John Arbuckle <programmingkidx@gmail.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'slirp/socket.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/slirp/socket.c b/slirp/socket.c
index bd97b2d682..a10eff18cb 100644
--- a/slirp/socket.c
+++ b/slirp/socket.c
@@ -627,7 +627,7 @@ sosendto(struct socket *so, struct mbuf *m)
/* Don't care what port we get */
ret = sendto(so->s, m->m_data, m->m_len, 0,
- (struct sockaddr *)&addr, sizeof(addr));
+ (struct sockaddr *)&addr, sockaddr_size(&addr));
if (ret < 0)
return -1;