summaryrefslogtreecommitdiffstats
path: root/slirp/ip_icmp.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-04-28 18:53:08 +0200
committerTimothy Pearson <tpearson@raptorengineering.com>2019-11-29 20:03:50 -0600
commit74ed7215e67231170e5f8a82d638fb32dc19f9a7 (patch)
tree780dbc154af8960bd463f63ee6eee575612e7ea5 /slirp/ip_icmp.c
parent35fdf3cb13b83071fee67ead71766ef78023ab65 (diff)
downloadhqemu-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.c2
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));
OpenPOWER on IntegriCloud