Initialize ai
to NULL and test for ai
with type-appropriate values
Depending on the address family and ai_flags containing AI_V4MAPPED, it might not do a proper DNS lookup on the provided DNS address Convert some `ai` boolean true/false checks to NULL/non-NULL while here. MFC after: 1 week PR: 211790 Reported by: Herbie.Robinson@stratus.com Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
04ee829f13
commit
8b8a0b8883
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=304034
@ -2249,6 +2249,8 @@ _dns_getaddrinfo(void *rv, void *cb_data, va_list ap)
|
||||
struct res_target q, q2;
|
||||
res_state res;
|
||||
|
||||
ai = NULL;
|
||||
|
||||
hostname = va_arg(ap, char *);
|
||||
pai = va_arg(ap, const struct addrinfo *);
|
||||
|
||||
@ -2327,16 +2329,16 @@ _dns_getaddrinfo(void *rv, void *cb_data, va_list ap)
|
||||
/* prefer IPv6 */
|
||||
if (q.next) {
|
||||
ai = getanswer(buf2, q2.n, q2.name, q2.qtype, pai, res);
|
||||
if (ai) {
|
||||
if (ai != NULL) {
|
||||
cur->ai_next = ai;
|
||||
while (cur && cur->ai_next)
|
||||
cur = cur->ai_next;
|
||||
}
|
||||
}
|
||||
if (!ai || pai->ai_family != AF_UNSPEC ||
|
||||
if (ai == NULL || pai->ai_family != AF_UNSPEC ||
|
||||
(pai->ai_flags & (AI_ALL | AI_V4MAPPED)) != AI_V4MAPPED) {
|
||||
ai = getanswer(buf, q.n, q.name, q.qtype, pai, res);
|
||||
if (ai)
|
||||
if (ai != NULL)
|
||||
cur->ai_next = ai;
|
||||
}
|
||||
free(buf);
|
||||
|
Loading…
Reference in New Issue
Block a user