mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-01 06:55:30 +00:00
Initialize adbname->client properly; check for loops
This commit is contained in:
@@ -1702,6 +1702,7 @@ new_adbname(dns_adb_t *adb, const dns_name_t *dnsname) {
|
|||||||
name->fetch6_err = FIND_ERR_UNEXPECTED;
|
name->fetch6_err = FIND_ERR_UNEXPECTED;
|
||||||
memset(&name->client, 0, sizeof(name->client));
|
memset(&name->client, 0, sizeof(name->client));
|
||||||
name->id = 0;
|
name->id = 0;
|
||||||
|
name->client.length = 0;
|
||||||
ISC_LIST_INIT(name->finds);
|
ISC_LIST_INIT(name->finds);
|
||||||
ISC_LINK_INIT(name, plink);
|
ISC_LINK_INIT(name, plink);
|
||||||
|
|
||||||
@@ -3032,6 +3033,7 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
|
|||||||
result = ISC_R_SHUTTINGDOWN;
|
result = ISC_R_SHUTTINGDOWN;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (adbname != NULL && client != NULL &&
|
if (adbname != NULL && client != NULL &&
|
||||||
isc_sockaddr_equal(client, &adbname->client) && id == adbname->id) {
|
isc_sockaddr_equal(client, &adbname->client) && id == adbname->id) {
|
||||||
char buf[DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE];
|
char buf[DNS_NAME_FORMATSIZE + DNS_RDATATYPE_FORMATSIZE];
|
||||||
|
@@ -561,10 +561,10 @@ struct dns_resolver {
|
|||||||
#define NEGATIVE(r) (((r)->attributes & DNS_RDATASETATTR_NEGATIVE) != 0)
|
#define NEGATIVE(r) (((r)->attributes & DNS_RDATASETATTR_NEGATIVE) != 0)
|
||||||
|
|
||||||
#define NXDOMAIN_RESULT(r) ((r) == DNS_R_NXDOMAIN || \
|
#define NXDOMAIN_RESULT(r) ((r) == DNS_R_NXDOMAIN || \
|
||||||
(r) == DNS_R_NCACHENXDOMAIN)
|
(r) == DNS_R_NCACHENXDOMAIN)
|
||||||
#define NXRRSET_RESULT(r) ((r) == DNS_R_NCACHENXRRSET || \
|
#define NXRRSET_RESULT(r) ((r) == DNS_R_NCACHENXRRSET || \
|
||||||
(r) == DNS_R_NXRRSET || \
|
(r) == DNS_R_NXRRSET || \
|
||||||
(r) == DNS_R_HINTNXRRSET)
|
(r) == DNS_R_HINTNXRRSET)
|
||||||
|
|
||||||
#ifdef ENABLE_AFL
|
#ifdef ENABLE_AFL
|
||||||
bool dns_fuzzing_resolver = false;
|
bool dns_fuzzing_resolver = false;
|
||||||
|
Reference in New Issue
Block a user