mirror of
git://git.musl-libc.org/musl
synced 2025-03-06 20:48:29 +01:00
fix gethostby*_r result pointer value on error
according to the documentation in the man pages, the GNU extension functions gethostbyaddr_r, gethostbyname_r and gethostbyname2_r are guaranteed to set the result pointer to NULL in case of error or no result.
This commit is contained in:
parent
2e5d256984
commit
fe82bb9b92
2 changed files with 3 additions and 0 deletions
|
@ -18,6 +18,8 @@ int gethostbyaddr_r(const void *a, socklen_t l, int af,
|
|||
socklen_t sl = af==AF_INET6 ? sizeof sa.sin6 : sizeof sa.sin;
|
||||
int i;
|
||||
|
||||
*res = 0;
|
||||
|
||||
/* Load address argument into sockaddr structure */
|
||||
if (af==AF_INET6 && l==16) memcpy(&sa.sin6.sin6_addr, a, 16);
|
||||
else if (af==AF_INET && l==4) memcpy(&sa.sin.sin_addr, a, 4);
|
||||
|
|
|
@ -17,6 +17,7 @@ int gethostbyname2_r(const char *name, int af,
|
|||
int i, cnt;
|
||||
size_t align, need;
|
||||
|
||||
*res = 0;
|
||||
cnt = __lookup_name(addrs, canon, name, af, AI_CANONNAME);
|
||||
if (cnt<0) switch (cnt) {
|
||||
case EAI_NONAME:
|
||||
|
|
Loading…
Add table
Reference in a new issue