diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2016-04-28 18:53:08 +0200 |
---|---|---|
committer | Timothy Pearson <tpearson@raptorengineering.com> | 2019-11-29 20:03:50 -0600 |
commit | 74ed7215e67231170e5f8a82d638fb32dc19f9a7 (patch) | |
tree | 780dbc154af8960bd463f63ee6eee575612e7ea5 /slirp/ip_icmp.c | |
parent | 35fdf3cb13b83071fee67ead71766ef78023ab65 (diff) | |
download | hqemu-74ed7215e67231170e5f8a82d638fb32dc19f9a7.zip hqemu-74ed7215e67231170e5f8a82d638fb32dc19f9a7.tar.gz |
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/ip_icmp.c')
-rw-r--r-- | slirp/ip_icmp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/slirp/ip_icmp.c b/slirp/ip_icmp.c index 590dada..5ffc7a6 100644 --- a/slirp/ip_icmp.c +++ b/slirp/ip_icmp.c @@ -186,7 +186,7 @@ icmp_input(struct mbuf *m, int hlen) sotranslate_out(so, &addr); if(sendto(so->s, icmp_ping_msg, strlen(icmp_ping_msg), 0, - (struct sockaddr *)&addr, sizeof(addr)) == -1) { + (struct sockaddr *)&addr, sockaddr_size(&addr)) == -1) { DEBUG_MISC((dfd,"icmp_input udp sendto tx errno = %d-%s\n", errno,strerror(errno))); icmp_send_error(m, ICMP_UNREACH, ICMP_UNREACH_NET, 0, strerror(errno)); |