From 186ce8a2b105cce1c8b5133f40b0b429e5547105 Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Tue, 25 Jun 2019 00:33:59 -0400 Subject: [PATCH] [core] allocate unix socket paths with SUN_LEN()+1 (fixes #2962) (thx lighthouse2) x-ref: "SUN_LEN in sock_addr.c (1.4.53, 1.4.54)" https://redmine.lighttpd.net/issues/2962 --- src/sock_addr.c | 5 ++--- 1 file 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;