luci-lib-nixio: pass exact sockaddr length to getnameinfo()
Musl libc requires the length parameter of getnameinfo() to be exactly `sizeof(struct sockaddr_in)` or `sizeof(struct sockaddr_in6)`, depending on the passed sockaddr family. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
This commit is contained in:
parent
69ecfff002
commit
376f038726
1 changed files with 3 additions and 1 deletions
|
@ -331,7 +331,9 @@ static int nixio_getnameinfo(lua_State *L) {
|
|||
|
||||
nixio__addr_write(&addr, (struct sockaddr *)&saddr);
|
||||
|
||||
int res = getnameinfo((struct sockaddr *)&saddr, sizeof(saddr),
|
||||
int res = getnameinfo((struct sockaddr *)&saddr,
|
||||
(saddr.ss_family == AF_INET)
|
||||
? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6),
|
||||
host, sizeof(host), NULL, 0, NI_NAMEREQD);
|
||||
|
||||
#ifdef __linux__
|
||||
|
|
Loading…
Reference in a new issue