mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-05 10:58:14 +00:00
BUG/MINOR: resolvers: Fix condition to release received ARs if not assigned
At the end of resolv_validate_dns_response(), if a received additionnal record is not assigned to an existing server record, it is released. But the condition to do so is buggy. If "answer_record" (the received AR) is not assigned, "tmp_record" is not a valid record object. It is just a dummy record "representing" the head of the record list. Now, the condition is far cleaner. This patch must be backported as far as 2.2.
This commit is contained in:
parent
5926e384e6
commit
9c246a4b6c
@ -1238,12 +1238,14 @@ static int resolv_validate_dns_response(unsigned char *resp, unsigned char *bufe
|
||||
if (tmp_record->ar_item)
|
||||
pool_free(resolv_answer_item_pool, tmp_record->ar_item);
|
||||
tmp_record->ar_item = answer_record;
|
||||
answer_record = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (tmp_record->ar_item != answer_record)
|
||||
if (answer_record) {
|
||||
pool_free(resolv_answer_item_pool, answer_record);
|
||||
answer_record = NULL;
|
||||
answer_record = NULL;
|
||||
}
|
||||
}
|
||||
} /* for i 0 to arcount */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user