summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sock_addr.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/sock_addr.c b/src/sock_addr.c
index cc15086c..7be57ce1 100644
--- a/src/sock_addr.c
+++ b/src/sock_addr.c
@@ -544,10 +544,9 @@ int sock_addr_from_str_hints(server *srv, sock_addr *saddr, socklen_t *len, cons
}
memcpy(saddr->un.sun_path, str, hostlen);
#if defined(SUN_LEN)
- *len = SUN_LEN(&saddr->un);
+ *len = SUN_LEN(&saddr->un)+1;
#else
- /* stevens says: */
- *len = hostlen + sizeof(saddr->un.sun_family);
+ *len = offsetof(struct sockaddr_un, sun_path) + hostlen;
#endif
}
return 1;