summary refs log tree commit diff stats
path: root/slirp/socket.c
diff options
context:
space:
mode:
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)
downloadfocaccia-qemu-0d48dfedc5c2beb418ad4c08b78de14e794bb199.tar.gz
focaccia-qemu-0d48dfedc5c2beb418ad4c08b78de14e794bb199.zip
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')
-rw-r--r--slirp/socket.c2
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;