From de4460fbd17e303996c79fc68879dc1918b695f1 Mon Sep 17 00:00:00 2001 From: rofl0r Date: Sat, 25 May 2019 02:23:38 +0100 Subject: [PATCH] proxy_getaddrinfo: don't use sizeof(struct sockaddr_storage) for addr_len this should fix an issue which seems to be mac's bind() only accepting sizeof(struct sockaddr_in) for AF_INET. ref: https://github.com/rofl0r/microsocks/issues/19 --- src/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core.c b/src/core.c index ef8794f..a6f39df 100644 --- a/src/core.c +++ b/src/core.c @@ -897,7 +897,7 @@ int proxy_getaddrinfo(const char *node, const char *service, const struct addrin p->ai_canonname = space->addr_name; p->ai_next = NULL; p->ai_family = space->sockaddr_space.ss_family = af; - p->ai_addrlen = sizeof(space->sockaddr_space); + p->ai_addrlen = af == AF_INET ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6); if(hints) { p->ai_socktype = hints->ai_socktype;