ws2_32: Avoid a crash in WS_getaddrinfo when the specified service doesn't exist.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49656 Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6a276eba16
commit
a6d9f46b25
|
@ -6787,7 +6787,7 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
|||
result = getaddrinfo(node, servname, punixhints, &unixaires);
|
||||
|
||||
if (result && (!hints || !(hints->ai_flags & WS_AI_NUMERICHOST))
|
||||
&& (!strcmp(fqdn, node) || (!strncmp(fqdn, node, hostname_len) && !node[hostname_len])))
|
||||
&& node && (!strcmp(fqdn, node) || (!strncmp(fqdn, node, hostname_len) && !node[hostname_len])))
|
||||
{
|
||||
/* If it didn't work it means the host name IP is not in /etc/hosts, try again
|
||||
* by sending a NULL host and avoid sending a NULL servname too because that
|
||||
|
|
|
@ -7778,6 +7778,10 @@ static void test_getaddrinfo(void)
|
|||
ok(0, "test %d: getaddrinfo failed with %d (err %d)\n", i, ret, err);
|
||||
}
|
||||
}
|
||||
|
||||
memset(&hint, 0, sizeof(hint));
|
||||
ret = pgetaddrinfo(NULL, "nonexistentservice", &hint, &result);
|
||||
ok(ret == WSATYPE_NOT_FOUND, "got %d\n", ret);
|
||||
}
|
||||
|
||||
static void test_ConnectEx(void)
|
||||
|
|
Loading…
Reference in New Issue